【发布时间】:2020-07-09 01:15:22
【问题描述】:
我想知道是否有一个宏可以用来将全局变量放在另一个部分中。 即 my_array 将存储在 bss 中。因为它没有初始化,但我想把它放在 .data 部分。
uint8_t my_array[];
int main()
{
return 1;
}
【问题讨论】:
-
什么编译器? .
-
发布感兴趣的编译器,否则问题没有一般答案。
-
A) 为什么? B) 为什么?
-
由于
array[]只有一个“类型”而没有大小,所以它不太可能出现在生成的可执行文件中的任何位置。建议给该数组一个特定的大小,即uint8_t my_array[1024];并在代码主体的某处引用它。 -
对不起,我忘记放尺码了。我也在使用 gcc。看起来 dbush 得到了我想要的东西。
标签: c macros compiler-construction global-variables