如何将全局变量放在另一个部分

how to place a global variable in another section

我想知道是否有可用于将全局变量放置在另一个部分中的宏。 即 my_array 将存储在 bss 中。因为它未初始化,但我想将它放在 .data 部分。

uint8_t my_array[]; 

int main()
{
  return 1;
}

如果您使用的是 gcc,则可以使用 __section__ 属性来设置部分:

__attribute__((__section__(".data")))
uint8_t my_array[5];

请注意,您还需要为其设置大小,否则您只有声明而不是定义。