<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 閱讀(495) 評論(0)  編輯  收藏 所屬分類: C++

    常用鏈接

    留言簿(21)

    隨筆分類(265)

    隨筆檔案(242)

    相冊

    JAVA網站

    關注的Blog

    搜索

    •  

    積分與排名

    • 積分 - 914554
    • 排名 - 40

    最新評論

    主站蜘蛛池模板: 97久久国产亚洲精品超碰热| 又粗又长又爽又长黄免费视频| 好吊色永久免费视频大全| 日本特黄特色免费大片| 在线观看国产区亚洲一区成人| 91精品国产亚洲爽啪在线观看| 亚洲av中文无码乱人伦在线观看 | av免费不卡国产观看| 亚洲成熟xxxxx电影| 99热在线精品免费播放6| 国产精品免费视频网站| 亚洲国产精华液2020| 免费jjzz在在线播放国产| 人人鲁免费播放视频人人香蕉| 亚洲国产精品尤物YW在线观看| a一级爱做片免费| 久久亚洲国产中v天仙www| 久久久久成人精品免费播放动漫| 韩国日本好看电影免费看| 亚洲av成人片在线观看| 亚洲av无码乱码在线观看野外 | 亚洲国产夜色在线观看| 国产精品无码永久免费888| 亚洲午夜未满十八勿入网站2| 亚洲综合色丁香婷婷六月图片| 一二三四免费观看在线电影| 久久久亚洲精品无码| 亚洲一区免费在线观看| 亚洲AV成人片色在线观看高潮 | 毛片a级毛片免费观看品善网| 中文字幕亚洲免费无线观看日本| 久视频精品免费观看99| 亚洲avav天堂av在线不卡| 久久久久久精品免费免费自慰| 亚洲欧美日韩国产精品一区| 亚洲日本中文字幕一区二区三区 | 日本免费网址大全在线观看| 亚洲欧洲日韩国产综合在线二区| 国产99久久久国产精免费| 亚洲视频欧洲视频| 免费看国产曰批40分钟|