仅使用const编译C

仅使用const编译C,c,constants,C,Constants,我需要生成一个数据文件,但我不知道如何生成。几年前我做了这个,一个.c文件,只有常量,像这样,我编译并得到了我需要的: const unsigned int icone1[576] = { 0xF7FE,0xF7FE,0xFFFE,0xFFBE,0xFFBF,0xFFDF,0xFFDF,0xF7DF,0xF7FF,0xEFFF,0xEFFE,0xF7FE,0xFFDE} const unsigned int icone2[576] = { 0xF7FE,0xF7FE,0xFFFE,0xFFBE,

我需要生成一个数据文件,但我不知道如何生成。几年前我做了这个,一个.c文件,只有常量,像这样,我编译并得到了我需要的:

const unsigned int icone1[576] = {
0xF7FE,0xF7FE,0xFFFE,0xFFBE,0xFFBF,0xFFDF,0xFFDF,0xF7DF,0xF7FF,0xEFFF,0xEFFE,0xF7FE,0xFFDE}
const unsigned int icone2[576] = {
0xF7FE,0xF7FE,0xFFFE,0xFFBE,0xFFBF,0xFFDF,0xFFDF,0xF7DF,0xF7FF,0xEFFF,0xEFFE,0xF7FE,0xFFDE}
但是忘了,我不知道怎么编译。gcc和borland,如果仅使用-c编译,它们在生成的数据之间放置0000,如下所示:

00000FFDD0000FFDD0000FFDD0000FFDD
00000FFDD0000FFDD0000FFDD0000FFDD
00000FFDD0000FFDD0000FFDD0000FFDD
00000FFDD0000FFDD0000FFDD0000FFDD
00000FFDD0000FFDD0000FFDD0000FFDD
00000FFDD0000FFDD0000FFDD0000FFDD

有人知道怎么做吗?

你必须决定每件物品的长度。 在您的示例中,似乎希望它们是16位的

使用标准大小的整数可能会有所帮助,如下所示:

const uint16_t icone1[576] = { 0xF7FE, 0xF7FE, ...
试试看。
请注意,这还取决于编译器和编译器选项。

这一观察结果是什么意思?你期待什么?你得到了什么?您必须通过extern使用这些,不过您也应该问问自己,将这些存储在全局常量中是否是一个好主意。那么,int在您的系统中有多大?这些看起来就像前导零。也许您想要uint16\u t而不是unsigned int?