在我的链接器脚本中,起始地址和大小如下:
code start:90400000
code end: 90a00000
data start:90b00000, size 3MB
bss start: 91200000, size 1MB
但是当我声明一个全局变量时,它的地址是:910bead0
它应该驻留在.bss
节,但它在其他地方,我什至没有在链接描述文件中指定。
谁能告诉我发生了什么事吗?
您没有指出您正在使用什么系统等,但传统上:初始化的全局数据进入data
;未初始化的全局数据进入bss
(初始化为 0)。当你写这样的东西时:
int x = 0;
系统有所不同:有些系统认识到初始化相当于零初始化(即,当您不指定初始化时会发生什么),并将其放入bss
;其他人只会看到有一个初始化的事实,并将其放入data
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)