C++ 在另一个源中包含源文件
我有一个大的静态常量字节数组,我将很难定义它。这最终会产生500行左右的文本类型代码,这在文件的其他正常流中有点碍眼。此外,文件的字节内容可能由脚本类型解析器生成C++ 在另一个源中包含源文件,c++,c,C++,C,我有一个大的静态常量字节数组,我将很难定义它。这最终会产生500行左右的文本类型代码,这在文件的其他正常流中有点碍眼。此外,文件的字节内容可能由脚本类型解析器生成 static const uint8_t largeArray[0x4000] { // About 500 lines of content here. } 在这种情况下,简单地创建另一个.c文件,然后简单地将其包含在原始源文件中,以使500行变成一行,这是可以接受的风格吗?一般来说,我不喜欢在另一个.c中包含.c,但我不确
static const uint8_t largeArray[0x4000]
{
// About 500 lines of content here.
}
在这种情况下,简单地创建另一个.c文件,然后简单地将其包含在原始源文件中,以使500行变成一行,这是可以接受的风格吗?一般来说,我不喜欢在另一个.c中包含.c,但我不确定在这种情况下推荐的做法是什么
static const uint8_t largeArray[0x4000]
{
#include "ArrayContents.c" // One line, but not nice file structure.
}
这是可以接受的,通常可能发生在大型数组由其他进程生成的情况下,但通常您希望为文件指定不同的后缀,如
.hc
,而不是.c
,这样人们就不会混淆它本身既不是头文件也不是源文件
另一种方法是将文件的内容放在另一个.c文件中,只使用
const uint8_t largeArray[0x4000]
{
// About 500 lines of content here.
}
然后在使用它的文件中声明它是一个extern,例如
extern const uint8_t largeArray[0x4000];
此c文件中的源代码构造是否会从任何其他文件调用?或者这个文件只是为了包含?如果你包含这个文件,为什么要给它.c扩展名而不是.h?我想我喜欢extern的想法实际上,我只需要记住生成一个.h,它只是数组大小的一个定义。。。谢谢