Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在另一个源中包含源文件_C++_C - Fatal编程技术网

C++ 在另一个源中包含源文件

C++ 在另一个源中包含源文件,c++,c,C++,C,我有一个大的静态常量字节数组,我将很难定义它。这最终会产生500行左右的文本类型代码,这在文件的其他正常流中有点碍眼。此外,文件的字节内容可能由脚本类型解析器生成 static const uint8_t largeArray[0x4000] { // About 500 lines of content here. } 在这种情况下,简单地创建另一个.c文件,然后简单地将其包含在原始源文件中,以使500行变成一行,这是可以接受的风格吗?一般来说,我不喜欢在另一个.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]
{
   #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,它只是数组大小的一个定义。。。谢谢