运行时数据结构
[段]
文本段也称为代码段;
数据段包含经过初始化的全局和静态变量以及它们的值;
BSS(block started by symbol)段包含未初始化的全局变量和静态变量;
堆栈段(stack)包含局部变量、临时数据、传递到函数中的参数等,运行时产生;
堆(heap)用于动态分配的内存(malloc),平常所看到的段错误和内存泄露就是发生在堆里的;
[可执行文件的三个段]
cjok@ubuntu:~/learn/c$ size a.out
text data bss dec hex filename
1017 264 8 1289 509 a.out
[段与代码对照关系]
[运行时可执行文件中的段在内存中的布局]
if you have any questions, please contact me<cjok.liao@gmail.com> or leave a comment, we will exchange views, it's good for us, so great!