编译C语言时,只能使用const

问题描述 投票:0回答:1

我需要生成一个数据文件,但我不知道如何生成。几年前,我做过这样的事,一个.c文件,只有const的,像这样,我编译后得到了我需要的东西。

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

有人知道怎么做吗?

c const
1个回答
1
投票

你必须决定每个项目的长度。在你的例子中,似乎你希望它们是16位的。

使用一个标准大小的整数可能会有帮助,就像这样。

const uint16_t icone1[576] = { 0xF7FE, 0xF7FE, ...

试试吧 而且要注意,这也取决于你的编译器和编译器选项。

© www.soinside.com 2019 - 2024. All rights reserved.