C語言中程序的內存分佈

程序文件的一般佈局

代碼在可執行程序中的對應關係

在這裏插入圖片描述

程序的內存佈局

文件佈局在內存中映射

在這裏插入圖片描述

各個段的作用

堆棧段在程序運行後才正式存在,是程序運行的基礎
.bss段存放的是未初始化的全局變量和靜態變量
.text段存放的是程序中的可執行代碼
.data段保存的是那些已經初始化了的全局變量和靜態變量
.rodata段存放程序中的常量值,如字符串常量

程序術語對應關係

靜態存儲區通常指程序中的.bss和.data段
只讀區通常指程序中的.rodata段
局部變量所佔空間爲棧上空間
動態空間爲堆中的空間
程序可執行代碼存放於.text段

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