全局静态变量初始化为0放在bss段还是data段?

it2025-03-26  9

转自此博客


我们都知道:

1)有初始化的全局变量,该全局变量存放在data段 2)没有初始值的全局变量放在BSS段。

实际上在arm-linux-gcc这个开发环境中,如果全局变量的初始值是0,编译器会将该全局变量放在BSS段。

初始值是0的全局变量放在BSS段会有什么问题?

如果少了text代码帮他初始化为0,这个全局变量将会成为随机值。而不是0。

因此text段会有一段代码将BSS段初始化为0。

如下图:

最新回复(0)