C++ CALLBACK和WINAPI两个宏的含义?
2011-11-16 15:21
267 查看
在编程时,也许你会看到函数声明或定义中会出现CALLBACK和WINAPI两个宏。其实,它们也是__stdcall的代名词。看windef.h中的内容:
#define CALLBACK __stdcall
#define WINAPI __stdcall
__stdcall是调用类型.调用类型有:__fastcall、__cdecl、__stdcall。
1、__cdecl调用类型: 这是C的调用规则。对于所有非C++成员函数或未标有__stdcall或__fastcall的函数来说,这是默认调用规则。
2、__fastcall调用类型: 这是一种快速调用。因为CPU的寄存器会被使用来存放函数参数列表中的头几个参数。
3、 __stdcall调用类型: 该调用只是通过堆栈来push和pop参数。
#define CALLBACK __stdcall
#define WINAPI __stdcall
__stdcall是调用类型.调用类型有:__fastcall、__cdecl、__stdcall。
1、__cdecl调用类型: 这是C的调用规则。对于所有非C++成员函数或未标有__stdcall或__fastcall的函数来说,这是默认调用规则。
2、__fastcall调用类型: 这是一种快速调用。因为CPU的寄存器会被使用来存放函数参数列表中的头几个参数。
3、 __stdcall调用类型: 该调用只是通过堆栈来push和pop参数。
相关文章推荐
- 从WINAPI和CALLBACK这两个宏说开去- -(转)
- C++箴言:理解typename的两个含义 (转)
- (转)从WINAPI和CALLBACK这两个宏说开去- -
- C++箴言:理解typename的两个含义
- C++箴言:理解typename的两个含义
- C++箴言:理解typename的两个含义
- WINAPI和CALLBACK这两个宏【zt】
- C++箴言:理解typename的两个含义
- C++箴言:理解typename的两个含义
- C++箴言:理解typename的两个含义
- C++箴言:理解 typename 的两个含义
- C++箴言:理解typename的两个含义
- C++箴言:理解typename的两个含义以及与class的区别
- C++箴言:理解typename的两个含义
- C++箴言:理解typename的两个含义
- C++箴言:理解typename的两个含义
- C++箴言:理解typename的两个含义 nested dependent name(嵌套依赖名字)
- C++箴言:理解typename的两个含义
- C++箴言:理解typename的两个含义
- C++箴言:理解typename的两个含义