色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区

當(dāng)前位置: > 華清遠(yuǎn)見(jiàn)教育科技集團(tuán) > 嵌入式學(xué)習(xí) > 講師博文 > 淺析C語(yǔ)言中的棧操作
淺析C語(yǔ)言中的棧操作
時(shí)間:2016-12-13作者:華清遠(yuǎn)見(jiàn)

匯編/C語(yǔ)言中的'數(shù)據(jù)棧'跟數(shù)據(jù)結(jié)構(gòu)中的'邏輯棧'類(lèi)似都是遵循先進(jìn)后出后進(jìn)先出原則,但是在實(shí)際操作過(guò)程中的基本單位不同:

1.在數(shù)據(jù)結(jié)構(gòu)中的'邏輯棧'按照使用者自己的需求定義大小及基本單位。例如可以存放10個(gè)char型,也可以存放20個(gè)結(jié)構(gòu)體等。

2.在匯編或C語(yǔ)言本身的'數(shù)據(jù)棧'中棧大小由編譯器指定,遵循FIFO規(guī)則的基本單位是棧幀,即每調(diào)用一個(gè)函數(shù)都會(huì)有一個(gè)新的棧幀加入,而函數(shù)返回則以棧幀為單位出棧。

棧幀也叫過(guò)程活動(dòng)記錄,是編譯器用來(lái)實(shí)現(xiàn)過(guò)程/函數(shù)調(diào)用的一種數(shù)據(jù)結(jié)構(gòu)。其實(shí)就是一個(gè)函數(shù)執(zhí)行的環(huán)境:函數(shù)參數(shù)、函數(shù)的局部變量、函數(shù)執(zhí)行完后返回到哪里等等。

因此,在同一個(gè)棧幀內(nèi)數(shù)據(jù)的訪(fǎng)問(wèn)可以使隨機(jī)的,匯編中可以通過(guò)ebp 指針向上或向下任意偏移就可以訪(fǎng)問(wèn)當(dāng)前函數(shù)內(nèi)部的所有局部變量,或向上偏移就可以訪(fǎng)問(wèn)調(diào)用者對(duì)當(dāng)前函數(shù)的傳參。(因?yàn)闂5脑鲩L(zhǎng)空間是從高地址到低地址。)


下面是函數(shù)調(diào)用過(guò)程中的操作:

當(dāng)發(fā)生函數(shù)調(diào)用的時(shí)候,棧空間中存放的數(shù)據(jù)是這樣的:

1、調(diào)用者函數(shù)把被調(diào)函數(shù)所需要的參數(shù)按照與被調(diào)函數(shù)的形參順序相反的順序壓入棧中,即:從右向左依次把被調(diào)函數(shù)所需要的參數(shù)壓入棧;

2、調(diào)用者函數(shù)使用call指令調(diào)用被調(diào)函數(shù),并把call指令的下一條指令的地址當(dāng)成返回地址壓入棧中(這個(gè)壓棧操作隱含在call指令中);

3、在被調(diào)函數(shù)中,被調(diào)函數(shù)會(huì)先保存調(diào)用者函數(shù)的棧底地址(push ebp),然后再保存調(diào)用者函數(shù)的棧頂?shù)刂?即:當(dāng)前被調(diào)函數(shù)的棧底地址(mov ebp,esp);

4、在被調(diào)函數(shù)中,從ebp的位置處開(kāi)始存放被調(diào)函數(shù)中的局部變量和臨時(shí)變量,并且這些變量的地址按照定義時(shí)的順序依次減小,即:這些變量的地址是按照棧的延伸方向排列的,先定義的變量先入棧,后定義的變量后入棧;

所以,發(fā)生函數(shù)調(diào)用時(shí),入棧的順序?yàn)?
        參數(shù)N
        參數(shù)N-1
        參數(shù)N-2
        .....
        參數(shù)3
        參數(shù)2
        參數(shù)1
        函數(shù)返回地址
        上一層調(diào)用函數(shù)的EBP/BP
        局部變量1
        局部變量2
        ....
        局部變量N

發(fā)表評(píng)論
評(píng)論列表(網(wǎng)友評(píng)論僅供網(wǎng)友表達(dá)個(gè)人看法,并不表明本站同意其觀點(diǎn)或證實(shí)其描述)
色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区
主站蜘蛛池模板: 日韩av在线网| 久久香蕉国产线看观看av| 91中文字幕在线| 亚洲国产精品va在线看黑人动漫| 91在线视频免费| 亚洲精品福利在线| 夜夜嗨av一区二区三区免费区| 北条麻妃在线一区二区| 日韩欧美国产一区二区| 高清欧美一区二区三区| 国产精品18久久久久久首页狼| 国产精品久久在线观看| 亚洲一区二区免费在线| 亚洲午夜色婷婷在线| 九色精品美女在线| 91精品国产九九九久久久亚洲| 国产精品美女呻吟| 亚洲欧洲成视频免费观看| 欧美另类在线观看| 日本视频久久久| 日韩精品在线观看视频| 久久精品99久久香蕉国产色戒| 性欧美视频videos6一9| 成人国产在线激情| 在线视频日本亚洲性| 97香蕉久久超级碰碰高清版| 91亚洲精品在线| 俺也去精品视频在线观看| 97福利一区二区| 亚洲精品久久久久久久久久久| 中文字幕在线成人| 18一19gay欧美视频网站| 亚洲国产欧美久久| 欧美日韩免费在线观看| 国产精品亚洲片夜色在线| 亚洲精品中文字幕有码专区| 九九九久久久久久| 国产精品永久免费| 久久九九免费视频| 国产精品视频区1| 久久亚洲精品小早川怜子66|