我想在单个静态 C 程序中包含一堆数据(例如,图像,还有其他数据,嵌入在可执行文件中,因为我在没有文件的嵌入式平台上工作)。
因此,我写了一个小 img2c 从我的数据文件创建 const 数据,创建一个带有静态 const 数组初始化器的文件以放入闪存(使用 C99 不错的功能)
我的问题是,我应该把它们放在一个 .h 文件中,就像我见过很多次一样 - 例如 gimp 可以保存为 .h 文件,而不是 .c 文件 - 或者放在一个 .c 文件中,在标头中仅引用const extern 声明以供进一步引用,而不必包含所有数据并将其全部传递给编译器,并在每次使用时重新声明它?
预处理器宏是不可能的,因为我会引用它们的地址,而不是每次都包含整个数据。