标题:[求助]关于VC++的函数调用约定
只看楼主
舞雪
Rank: 1
等 级:新手上路
威 望:1
帖 子:1786
专家分:0
注 册:2006-10-11
 问题点数:0 回复次数:5 
[求助]关于VC++的函数调用约定
请大侠给偶详细讲讲WINAPI CALLBACK APIENTRY是怎么回事?
在VC++里面,除了这几种调用约定,还有其他的调用约定吗?
大侠帮帮忙偶要看中文的
搜索更多相关主题的帖子: 函数 约定 
2006-10-21 15:45
舞雪
Rank: 1
等 级:新手上路
威 望:1
帖 子:1786
专家分:0
注 册:2006-10-11
得分:0 
斑竹来解答下啊
偶急用啊

呵呵,不愧是BC论坛
2006-10-22 16:29
舞雪
Rank: 1
等 级:新手上路
威 望:1
帖 子:1786
专家分:0
注 册:2006-10-11
得分:0 
斑竹帮帮忙啊

呵呵,不愧是BC论坛
2006-10-24 14:19
舞雪
Rank: 1
等 级:新手上路
威 望:1
帖 子:1786
专家分:0
注 册:2006-10-11
得分:0 
救命啊

呵呵,不愧是BC论坛
2006-10-25 12:43
corrupt
Rank: 2
等 级:新手上路
威 望:3
帖 子:535
专家分:0
注 册:2004-9-29
得分:0 
这些只是入栈 方式,学习汇编语言时 是经常要用到的..,比如 void fun(int a, int b),
就是入栈时 是先a入栈,还是先b入栈...

好像有三种 _cdecl,_stacll ,__pascal...
看下面的 定义...
#define CALLBACK PASCAL
#define WINAPI CDECL
#define WINAPIV CDECL
#define APIENTRY WINAPI
#define APIPRIVATE CDECL
#ifdef _68K_
#define PASCAL __pascal
#else
#define PASCAL
#endif
#elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
#define CALLBACK __stdcall
#define WINAPI __stdcall
#define WINAPIV __cdecl
#define APIENTRY WINAPI
#define APIPRIVATE __stdcall
#define PASCAL __stdcall
#else
#define CALLBACK
#define WINAPI
#define WINAPIV
#define APIENTRY WINAPI
#define APIPRIVATE
#define PASCAL pascal
#endif

2006-10-26 08:53
舞雪
Rank: 1
等 级:新手上路
威 望:1
帖 子:1786
专家分:0
注 册:2006-10-11
得分:0 
Thanks with tear

呵呵,不愧是BC论坛
2006-10-26 13:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-97801-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.217557 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved