我有一个很大的静态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.
}
答案 0 :(得分:3)
这是可以接受的,通常可能发生在某个其他进程生成大型数组的情况下,但通常您希望为该文件指定一个不同的后缀,例如.hc
而不是.c
,以便人们可以不要混淆它既不是头文件也不是源文件。
另一种方法是只使用;
将文件内容放在不同的.c文件中const uint8_t largeArray[0x4000]
{
// About 500 lines of content here.
}
然后在你正在使用它的文件中声明它为extern,例如。;
extern const uint8_t largeArray[0x4000];