麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > C > 正文

淺析C語言中的內(nèi)存布局

2020-01-26 15:55:41
字體:
供稿:網(wǎng)友

本節(jié)注重分清幾個概念:.text .data .bss   堆   棧    靜態(tài)存儲區(qū)    只讀存儲區(qū)等

從程序到a.out 把程序變成.text  .data  .bss  是編譯原理完成的過程

從a.out把程序映射到對應(yīng)的內(nèi)存地址空間是操作系統(tǒng)完成的,也就是在操作系統(tǒng)創(chuàng)建進(jìn)程的時候完成的,在描述進(jìn)程的那個結(jié)構(gòu)體中。

我們常說的堆是為了申請動態(tài)內(nèi)存的時候使用的,malloc。

棧是為了在函數(shù)中切換使用的,即存放函數(shù)中的局部變量。(堆和棧是操作系統(tǒng)分配的,所有不在a.out中)

靜態(tài)存儲區(qū)是用來存放全局變量,靜態(tài)變量的,理解static的用法,即包括.bss段(未初始化的)和.data段(初始化的)。

只讀存儲區(qū)是用來存放一些常量,字符串,只讀的數(shù)據(jù)的,理解char * p="hello!!" 不是野指針的原因。
程序段(.text)是用來存放可執(zhí)行代碼的。

總結(jié)下:其實(shí)只讀存儲區(qū),又叫做代碼區(qū),這個區(qū)存放的是,只讀常量char* p="hello!!"     #define PI 3.14     枚舉類型     程序代碼。

所以說一般對于內(nèi)存可以分成四個區(qū):堆         棧         靜態(tài)區(qū)         只讀存儲區(qū)        

注意:在棧中 不僅僅保存了數(shù)據(jù)    應(yīng)該也保存了程序的機(jī)器碼  之后就轉(zhuǎn)換成了.text段了

注意:其中有些不是特別清晰的問題,如a.out中各段的生成,a.out到內(nèi)存的映射,a.out映射后的堆和棧是怎么生成的,根據(jù)什么生成的?這些問題都是編譯原理和操作系統(tǒng)的知識點(diǎn)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 久久精品成人影院 | 91精品国产乱码久久桃 | 精品国产一区二区三区在线观看 | sm高h视频 | 色啪综合 | 久久网站热最新地址4 | 精品国产一区二区三区四区在线 | av电影免费在线看 | 激情毛片| 九九热免费视频在线观看 | 精品国产91久久久久久浪潮蜜月 | 国产精品久久久免费观看 | 久久久www成人免费精品 | 黄网站进入 | 午夜爽爽爽男女免费观看hd | 久久亚洲精品久久国产一区二区 | 伊人久操视频 | 国产免费中文字幕 | 草逼一区| 午夜生活理论片 | 最新se94se在线欧美 | 亚洲一区二区三区高清视频 | 十级毛片 | caoporn国产一区二区 | 国产精品视频久久久 | 国产精品久久久久永久免费 | 免费看一级毛片欧美 | 超碰97人| 国产精品久久久免费看 | 精品中文字幕在线播放 | 成人性爱视频在线观看 | 日本在线精品视频 | 日日草夜夜 | 成人羞羞国产免费游戏 | 亚洲精品在线观看网站 | 亚洲第一视频 | 久久99精品国产自在现线 | 黄色av网站免费 | 精精国产xxxx视频在线野外 | 色视频在线观看 | 久久精品一区二区三区四区五区 |