Linux 可執行文件與進程內存結構, Linux 進程內存加載

一個可執行程序包含三個部分

代碼段:主要存放指令,操作以及只讀的(常量)數據(例如字符串常量)。
數據段:全局或者靜態的已經初始化的變量。
BSS 段:全局或者靜態的未初始化的變量。

wKioL1kr6qCxfrpzAAEaoc-VyOw418.png-wh_50

棧上面有1G內存時Linux內核區,與棧之間有一個gap隨機地址,防止代碼***。數據區data與堆區之間也有一個隨機gap。


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