韦东山Linux嵌入式课程社区
直播中

h1654155275.5764

7年用户 117经验值
私信 关注

请问data数据段的大小是在编译期间就已经确定的吗?

uboot中已经初始化的全局变量保存在 data段中,这个data段的大小是在编译期间就已经确定的吗?data段是在bin文件中的吗?
我们在代码的重定位阶段需要对其进行相关操作吗?

回帖(3)

张蕾

2019-4-28 08:52:32
全局变量不是保存带date数据段里面的 。。而是在你编译程序的时候,编译器帮你放在bss段里面。。data是在bin文件中,但是你说的全局变量,就是bss段不在bin文件中
举报

刘伟

2019-4-28 09:01:20
楼上的说错了,已初始化的全局变量是存放在DATA段里而不会存放在BSS段,更不会在文件外面。

一个最简单的例子,你定义一个全局字符数组(可以认为是字符串),编译后你直接打开二进制文件,仔细找就能找到你定义的那个字符串。
举报

李华瑞

2019-4-28 09:18:23
好吧已经初始化了。。我错了
举报

更多回帖

发帖
×
20
完善资料,
赚取积分