在其他来源中包含源文件

时间:2014-09-24 03:15:40

标签: c++ c

我有一个很大的静态const字节数组,我很难定义。最终会有大约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.
}

1 个答案:

答案 0 :(得分:3)

这是可以接受的,通常可能发生在某个其他进程生成大型数组的情况下,但通常您希望为该文件指定一个不同的后缀,例如.hc而不是.c,以便人们可以不要混淆它既不是头文件也不是源文件。

另一种方法是只使用;

将文件内容放在不同的.c文件中
const uint8_t largeArray[0x4000]
{
   // About 500 lines of content here.
}

然后在你正在使用它的文件中声明它为extern,例如。;

extern const uint8_t largeArray[0x4000];