日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Linux學(xué)習(xí)筆記4——函數(shù)調(diào)用棧空間的分配與釋放

系統(tǒng) 2669 0

一、函數(shù)執(zhí)行時(shí)使用棧空間作為自己的臨時(shí)棧,3種方式?jīng)Q定編譯器清空棧的方式:__stdcall、 __fastcall、__cdecl

1、__stdcall表示每個(gè)調(diào)用者負(fù)責(zé)清空自己調(diào)用的函數(shù)的臨時(shí)棧
???? __fastcall函數(shù)自己在返回前自己清空臨時(shí)棧,然后返回值退出
???? __cdecl表示所有調(diào)用者只有一個(gè)清空函數(shù)來負(fù)責(zé)清空所有被調(diào)用函數(shù)的臨時(shí)棧

2、這三種方式?jīng)Q定函數(shù)棧壓棧的參數(shù)順序,都是從右到左.

3、在window下,函數(shù)名前加_stdcall,它決定了函數(shù)的名字轉(zhuǎn)換方式.

?

二、關(guān)于臨時(shí)棧的總結(jié)

1.函數(shù)執(zhí)行的時(shí)候有自己的臨時(shí)棧(在局部棧里).
???? C++成員函數(shù)擁有兩個(gè)棧空間,一個(gè)是函數(shù)本身的棧空間,另一個(gè)是對象的棧空間
???? 因?yàn)楹瘮?shù)本身是在對象的棧空間里運(yùn)行
???? C里函數(shù)只有一個(gè)棧空間

2.函數(shù)的參數(shù)就在臨時(shí)棧中.如果函數(shù)傳遞實(shí)參.則用來初始化臨時(shí)參數(shù)變量.
??不管哪種傳遞,實(shí)質(zhì)傳遞的都是值,一般變量傳的是數(shù)據(jù),而指針傳的是地址值??

3.通過寄存器返回值.(使用返回值返回?cái)?shù)據(jù))

4.通過參數(shù)返回值.(參數(shù)必須是指針)
? ?指針指向的區(qū)域必須事先分配.

5.如果參數(shù)返回指針.參數(shù)就是雙指針.

Linux學(xué)習(xí)筆記4——函數(shù)調(diào)用棧空間的分配與釋放


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 普格县| 金川县| 柯坪县| 湘西| 青阳县| 侯马市| 平和县| 资中县| 上蔡县| 汪清县| 彭山县| 石狮市| 晴隆县| 翼城县| 常德市| 盈江县| 海盐县| 廉江市| 积石山| 金堂县| 板桥市| 淳安县| 海盐县| 涟水县| 泰州市| 桦川县| 永吉县| 白城市| 抚顺县| 铁岭县| 克拉玛依市| 万荣县| 成武县| 霍邱县| 关岭| 仁化县| 长汀县| 蓬溪县| 霍山县| 于田县| 江山市|