GCC编译输出中text,data,bss和dec的含义
1.text:代码和常量,相当于MDK的code+ro_data
2.data:已初始化的全局/静态变量,相当于MDK的rw_data
3.bss:未初始化的全局/静态变量,相当于MDK的ZI_DATA
4.dec:上述3者的算术和
bss是不会算入最终生成的bin文件里面的,因为对于未初始化的变量,只需要在内存中开辟个相应大小的空间就行了。
Data段: 已经初始化了的全局变量string就存放在该段,Data段用来存放初始化了的变量,即初始化了的全局变量和静态变量
BSS段: 未初始化的全局变量iSize存放在这,BSS段主要存放在未初始化的变量,即未初始化的全局变量和静态变量
Heap段: 程序员手动分配的malloc(iSize)这篇内存存放在该段,也需要用户自行释放
Stack段:函数里的局部变量*p存放在该段,Stack段主要存放局部变量、临时变量、函数相互调用的返回的地址,该段由编译器自行分配和释放