青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

mEjY的自由世界

眼界決定世界

WINAPI和CALLBACK這兩個宏【zt】

WINAPI和CALLBACK這兩個宏

WINAPI和CALLBACK這兩個宏有什么區(qū)別呢?

_stdcall _cdecl _pascal _fastcall這些關鍵字是什么意思,有什么區(qū)別呢?

首先看MSDN里給出的解釋,不過有些語焉不詳哦

WINAPI 
·Use in place of FAR PASCAL in API declarations. If you are writing a DLL with exported API entry points, you can use this for your own APIs. 

CALLBACK
·Use in place of FAR PASCAL in application callback routines such as window procedures and dialog procedures. 

再看看到底這兩個宏的內(nèi)容是什么吧

VC:WINDEF.h
#define CALLBACK    PASCAL //=_pascal,VC已經(jīng)不支持直接使用_pascal了
#define WINAPI      CDECL //=_cdecl

BCB:windef.h
#define CALLBACK    __stdcall
#define WINAPI      __stdcall

引出了cdecl stdcall等一些可能很少見的關鍵字

那么cdecl、pascal、stdcall、fastcall等修飾符號到底什么意思呢?
非常簡單,就是關于堆棧的一些說明,首先是函數(shù)參數(shù)壓棧順序,其次是
壓入堆棧的內(nèi)容由誰來清除,調(diào)用者還是函數(shù)自己?
這些開關用來告訴編譯器產(chǎn)生什么樣的匯編代碼。

下面把區(qū)別列表如下:

Directive Parameter order  Clean-up Passes parameters in registers?
 register  Left-to-right   Routine   Yes
 pascal   Left-to-right   Routine   No
 cdecl   Right-to-left   Caller    No
 stdcall   Right-to-left   Routine   No
 safecall  Right-to-left   Routine   No

簡單說明:

__cdecl是C/C++和MFC程序默認使用的調(diào)用約定,也可以在函數(shù)聲明時加上__cdecl關鍵字來手工指定。采用__cdecl約定時,函數(shù)參 數(shù)按照從右到左的順序入棧,并且由調(diào)用函數(shù)者把參數(shù)彈出棧以清理堆棧。因此,實現(xiàn)可變參數(shù)的函數(shù)只能使用該調(diào)用約定。由于每一個使用__cdecl約定的 函數(shù)都要包含清理堆棧的代碼,所以產(chǎn)生的可執(zhí)行文件大小會比較大。__cdecl可以寫成_cdecl。
        __stdcall調(diào)用約定用于調(diào)用Win32 API函數(shù)。采用__stdcal約定時,函數(shù)參數(shù)按照從右到左的順序入棧,被調(diào)用的函 數(shù)在返回前清理傳送參數(shù)的棧,函數(shù)參數(shù)個數(shù)固定。由于函數(shù)體本身知道傳進來的參數(shù)個數(shù),因此被調(diào)用的函數(shù)可以在返回前用一條ret n指令直接清理傳遞參 數(shù)的堆棧。__stdcall可以寫成_stdcall。
        __fastcall約定用于對性能要求非常高的場合。__fastcall約定將函數(shù)的從左邊開始的兩個大小不大于4個字節(jié) (DWORD)的參數(shù)分別放在ECX和EDX寄存器,其余的參數(shù)仍舊自右向左壓棧傳送,被調(diào)用的函數(shù)在返回前清理傳送參數(shù)的堆棧。__fastcall可 以寫成_fastcall。 


·特別說明
1. 在默認情況下,采用__cdecl方式,因此可以省略.
2. WINAPI一般用于修飾動態(tài)鏈接庫中導出函數(shù)
3. CALLBACK僅用于修飾回調(diào)函數(shù)
4. 你可能已經(jīng)發(fā)現(xiàn),VC下和BCB下對WINAPI的定義不同,那么你至少理解了
   為什么不能直接從BCB下調(diào)用VC的dll的一個原因了。

posted on 2008-02-20 10:51 mEjY 閱讀(588) 評論(0)  編輯 收藏 引用

<2025年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

導航

統(tǒng)計

常用鏈接

留言簿(1)

隨筆檔案

文章分類

文章檔案

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            在线一区二区视频| 国产精品99久久不卡二区| 欧美亚洲视频在线看网址| 国产精品国产三级国产普通话三级| 亚洲美女一区| 欧美亚洲日本一区| 久久www成人_看片免费不卡| 亚洲国产精品嫩草影院| 欧美日韩亚洲视频一区| 亚洲自拍偷拍网址| 亚洲国产mv| 欧美成熟视频| 一区二区三区|亚洲午夜| 久久亚洲高清| 亚洲小说欧美另类婷婷| 狠狠久久亚洲欧美专区| 欧美日本亚洲韩国国产| 久久精品夜色噜噜亚洲a∨| 亚洲欧洲日韩综合二区| 久久国产精品亚洲77777| 一区二区三区高清不卡| 在线看无码的免费网站| 国产精品欧美激情| 欧美精品 国产精品| 久久综合精品国产一区二区三区| 亚洲免费不卡| 亚洲欧美综合国产精品一区| 日韩午夜视频在线观看| 午夜精品在线| 先锋影音一区二区三区| 欧美成人小视频| 国产日韩视频一区二区三区| 欧美色图天堂网| 欧美日韩三级视频| 狠狠色狠狠色综合人人| 亚洲免费视频中文字幕| 亚洲在线成人精品| 亚洲欧美精品在线| 亚洲国产二区| 久久九九精品99国产精品| 国产精品久久二区二区| 99精品视频免费观看视频| 亚洲人在线视频| 亚洲精品一区二区三区不| 亚洲欧洲日夜超级视频| 久久久成人精品| 欧美二区在线播放| 欧美**人妖| 亚洲国产精品一区二区www在线| 免费欧美日韩| 国产精品电影在线观看| 久久久综合视频| 另类图片综合电影| 国产一区欧美| 亚洲人体偷拍| 欧美高清视频一区二区| 久久天天躁狠狠躁夜夜爽蜜月| 欧美插天视频在线播放| 在线观看欧美黄色| 亚洲深夜福利在线| 亚洲卡通欧美制服中文| 午夜欧美精品| 国产一区99| 99精品视频网| 亚洲区国产区| 香蕉久久夜色精品国产| 国产伦理一区| 亚洲国产va精品久久久不卡综合| 久久久久久久999精品视频| 午夜视黄欧洲亚洲| 黑人中文字幕一区二区三区| 欧美1区2区3区| 欧美成人嫩草网站| 亚洲午夜精品一区二区三区他趣 | 亚洲免费观看在线视频| 亚洲女ⅴideoshd黑人| 一区二区免费在线播放| 国产精品一区二区在线观看不卡| 久久国产精品久久精品国产| 久久精品成人欧美大片古装| 欧美区二区三区| 亚洲亚洲精品三区日韩精品在线视频 | 欧美在线看片| 亚洲精品永久免费精品| 国产精品成人va在线观看| 久久久久久夜| 在线一区二区三区四区五区| 国产精品一区二区黑丝| 麻豆av一区二区三区久久| 日韩视频精品| 国产午夜精品福利| 亚洲国产欧美一区二区三区久久| 欧美视频不卡中文| 蜜月aⅴ免费一区二区三区| 欧美激情一区在线| 久久九九国产精品| 欧美日韩精品一二三区| 亚洲黄色尤物视频| 久久这里有精品视频| 欧美人与性动交cc0o| 久久久999精品免费| 欧美黄免费看| 亚洲老板91色精品久久| 亚洲一区二区视频在线观看| 欧美午夜视频网站| 亚洲欧美日韩综合国产aⅴ| 亚洲国产精品电影在线观看| 欧美日韩午夜在线| 久久综合狠狠综合久久综青草| 欧美日韩视频免费播放| 久久综合给合久久狠狠狠97色69| 欧美日韩一区二区三区在线视频| 久久亚洲私人国产精品va媚药 | 欧美激情欧美狂野欧美精品| 久久精品视频在线| 欧美亚一区二区| 亚洲电影免费观看高清完整版在线| 国产麻豆精品视频| 亚洲乱码国产乱码精品精| 在线精品国产成人综合| 亚洲欧美日韩精品综合在线观看| 一本色道久久综合亚洲精品小说 | 亚洲图片在线| 欧美黄色网络| 欧美电影免费观看大全| 黄色成人av在线| 欧美一级视频精品观看| 亚洲第一中文字幕| 欧美一区1区三区3区公司| 亚洲综合日韩在线| 国产精品久久久久久模特| 日韩午夜精品视频| 夜夜爽99久久国产综合精品女不卡| 开心色5月久久精品| 美女精品在线观看| 亚洲大胆女人| 老司机一区二区三区| 欧美激情免费在线| 欧美无乱码久久久免费午夜一区| 亚洲人成在线播放网站岛国| 亚洲日本va午夜在线影院| 欧美成年人在线观看| 亚洲国产精品一区在线观看不卡| 亚洲黄页一区| 欧美精品 国产精品| 亚洲免费高清| 午夜精品久久久| 免费成人av在线看| 午夜一区在线| 国产精品丝袜91| 玖玖玖免费嫩草在线影院一区| 国一区二区在线观看| 久久久综合香蕉尹人综合网| 欧美激情中文字幕在线| 9i看片成人免费高清| 国产精品第13页| 欧美影院视频| 亚洲欧美另类在线| 国产女同一区二区| 最新日韩av| 一区二区三区四区精品| 国产精品国产三级国产普通话三级 | 久久全国免费视频| 欧美伊人久久久久久久久影院| 久久精品国产视频| 欧美国产日韩在线| 一区二区三区欧美激情| 国产精品一区二区在线| 美国十次了思思久久精品导航| 亚洲精品视频免费| 久久超碰97人人做人人爱| 亚洲国产福利在线| 国产精品高潮粉嫩av| 久久欧美肥婆一二区| 日韩午夜免费视频| 久久婷婷国产综合国色天香| 日韩亚洲一区二区| 国产亚洲精品久久久久动| 欧美黄色aaaa| 欧美在线观看视频一区二区| 亚洲欧洲午夜| 久久免费观看视频| 亚洲一区精品在线| 亚洲国产一二三| 国产日韩一区二区三区在线播放 | 亚洲在线黄色| 91久久国产综合久久蜜月精品| 性亚洲最疯狂xxxx高清| 日韩图片一区| 亚洲第一天堂无码专区| 国产欧美视频在线观看| 欧美日韩精品免费观看| 久久视频在线免费观看| 亚洲欧美激情视频在线观看一区二区三区 | 亚洲国产精品久久久久秋霞影院 | 欧美亚一区二区| 欧美成人视屏| 老司机午夜精品视频在线观看| 午夜欧美不卡精品aaaaa| 夜夜嗨一区二区|