我有一个很大的静态常量字节数组,我将很难定义它。最终会产生大约 500 行文本墙类型代码,与文件的正常流程的其余部分相比,这些代码有点碍眼。此外,文件的字节内容可能是由脚本类型解析器生成的。
static const uint8_t largeArray[0x4000]
{
// About 500 lines of content here.
}
在这种情况下,简单地创建另一个 .c 文件,然后将其简单地包含在我的原始源文件中以使 500 行变成 1 行,这种方式是否可以接受?一般来说,我鄙视将 .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++ - 将源文件包含在另一个源中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26007947/