我不明白.data部分是专门用于什么的? 是否可以说y = 8?难道你只是将一个立即值8加载到某个寄存器中会是相同的吗?
答案 0 :(得分:4)
用于存储,嗯,数据。
典型的程序将包含几个部分:
.text
→代码(程序文字).rodata
→只读数据.data
→数据.bss
→未初始化数据 C全局变量和静态局部变量转到.data
或.bss
(它们在加载程序时被创建,并在程序结束时被销毁,它们的生命周期是整个程序的执行)。 C局部变量进入堆栈(它们在进入函数时被创建,并在离开函数时被销毁),由malloc()
分配的C存储转到堆(它们由程序员动态创建和销毁,它们的生命是动态的。)