Linux 可执行文件与进程内存结构, Linux 进程内存加载

一个可执行程序包含三个部分

代码段:主要存放指令,操作以及只读的(常量)数据(例如字符串常量)。
数据段:全局或者静态的已经初始化的变量。
BSS 段:全局或者静态的未初始化的变量。

wKioL1kr6qCxfrpzAAEaoc-VyOw418.png-wh_50

栈上面有1G内存时Linux内核区,与栈之间有一个gap随机地址,防止代码***。数据区data与堆区之间也有一个随机gap。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章