gpt4 book ai didi

c++ - 内存段中存储的全局变量和静态变量在哪里?

转载 作者:太空狗 更新时间:2023-10-29 21:22:55 26 4
gpt4 key购买 nike

在我的链接描述文件中,起始地址和大小如下:

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

关于c++ - 内存段中存储的全局变量和静态变量在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19540005/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com