<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    ? 最近學習過程中碰到有關函數調用方法,如:__stdcal,_cdecl和__fastcall。查閱了一些相關的資料和別人的經驗,我總結如下:

    __stdcal,_cdecl,__fastcall有三個方面來區分:

    1:函數參數是按什么順序壓入棧中的。

    2:調用完畢后是由誰來釋放棧中的空間的。(這個問題主要是因為函數傳遞過程中是存放在棧中的,可以選擇調用者釋放空間,也可以選擇被調用者釋放。)

    3:產生函數名的修飾方法。

    ???????????????????????????????????????????????????
    ?__stdcal
    ?_cdecl
    ?__fastcall
    ?
    1
    ?從右到左
    ?從右到左
    ?一般指傳送不超過4個字節的參數,通過寄存器,不用棧,這樣比較快
    ?
    2
    ?函數自己解決棧的清除工作,如Windows的API函數
    ?棧的清除工作是由調用者(不同的編譯器產生棧的方式不盡相同)
    ?從左邊開始的兩個大小不大于4個字節(DWORD)的參數分別放在ECX和EDX寄存 器,其余的參數仍舊自右向左壓棧傳送
    ?
    3
    ?_func@12
    ??func@@ZAXXZ
    ?@func@12
    ?

    為了避免由編譯器造成的問題,強烈建議在調用時使用__stdcal。

    ?

    posted on 2009-06-16 15:35 -274°C 閱讀(493) 評論(0)  編輯  收藏 所屬分類: C++

    常用鏈接

    留言簿(21)

    隨筆分類(265)

    隨筆檔案(242)

    相冊

    JAVA網站

    關注的Blog

    搜索

    •  

    積分與排名

    • 積分 - 914354
    • 排名 - 40

    最新評論

    主站蜘蛛池模板: 精品国产亚洲一区二区三区| 亚洲av综合色区| 中文字幕亚洲情99在线| h视频在线免费看| 亚洲精品国产手机| 嘿嘿嘿视频免费网站在线观看| 亚洲人成在线电影| 亚洲高清免费在线观看| 亚洲国产成人综合| 在线观看无码的免费网站| 亚洲国产精品ⅴa在线观看| 国产成人无码区免费A∨视频网站| 亚洲aⅴ天堂av天堂无码麻豆| 成人免费看片又大又黄| 日韩国产欧美亚洲v片| 亚洲av无码成人精品区| 黄色网址免费在线观看| 亚洲AV福利天堂一区二区三| 国产精品久久久久久久久免费| 男人天堂2018亚洲男人天堂| 成人最新午夜免费视频| 深夜福利在线视频免费| 亚洲av无码国产精品夜色午夜 | 妞干网手机免费视频| 亚洲AV成人无码网天堂| 亚洲国产一成人久久精品| a拍拍男女免费看全片| 亚洲精品理论电影在线观看| 久久精品国产精品亚洲人人| 97公开免费视频| 亚洲成在人线在线播放无码| 亚洲精品夜夜夜妓女网| 国产成人精品免费视频动漫 | 亚洲av色香蕉一区二区三区蜜桃| 亚洲高清无码专区视频| 美女内射无套日韩免费播放| 亚洲精品理论电影在线观看| 丁香五月亚洲综合深深爱| 无码免费午夜福利片在线 | 精品熟女少妇av免费久久| 亚洲av乱码中文一区二区三区|