__closure和__stdcall区别
来源:互联网 发布:融信普惠网络借贷信息 编辑:程序博客网 时间:2024/06/06 09:05
__closure和__stdcall虽然都是可以用来修饰函数指针的,但是方向是不同的,
__stdcall修饰函数的调用方式,__closure是指修饰函数为成员函数。
举个具体的例子,
int __stdcall GlobalFunc(int, int); //1
class SomeClass
{
int __stdcall MemberFunc(int, int); //2
};
注意,1和2中的函数类型是不同的,并且是不兼容的。
其中,函数2被编译器解析为
int __stdcall SomeClass_MemberFunc(SomeClass* const this, int, int);
函数的名称也会被编译器粉碎的。
所以,
函数1的类型为int __stdcall (*)(int, int);
函数2的类型为int __stdcall (SomeClass::*)(int, int);
其中的SomeClass::就相当于__closure关键字的作用。
被__closure修饰的函数必定为某个类的成员函数。
__stdcall修饰函数的调用方式,__closure是指修饰函数为成员函数。
举个具体的例子,
int __stdcall GlobalFunc(int, int); //1
class SomeClass
{
int __stdcall MemberFunc(int, int); //2
};
注意,1和2中的函数类型是不同的,并且是不兼容的。
其中,函数2被编译器解析为
int __stdcall SomeClass_MemberFunc(SomeClass* const this, int, int);
函数的名称也会被编译器粉碎的。
所以,
函数1的类型为int __stdcall (*)(int, int);
函数2的类型为int __stdcall (SomeClass::*)(int, int);
其中的SomeClass::就相当于__closure关键字的作用。
被__closure修饰的函数必定为某个类的成员函数。
0 0
- __closure和__stdcall区别
- __closure和__stdcall区别
- __cdecl和__stdcall区别
- __cdecl 和 __stdcall 区别
- __cdecl和__stdcall的区别
- __stdcall 和 __cdecl 的区别
- __cdecl和__stdcall的区别
- __cdecl , __fastcall 和__stdcall区别
- __stdcall和__cdecl的区别
- __cdecl和__stdcall的区别
- __stdcall 和 __cdecl 的区别
- __stdcall和__cdecl的区别
- __stdcall和__cdecl的区别
- __stdcall和__cdecl的区别
- __stdcall、__cdecl和__fastcall区别
- __stdcall和__cdecl的区别
- __declspec,__cdecl,__stdcall区别和作用
- __declspec,__cdecl,__stdcall区别和作用
- 第12章 组建测试队伍
- FZU2146 Easy Game
- 使用WebBIOS配置ServeRAID Controller(五)
- Druid register mbean error
- 如何在myeclipse2013删除antlr-2.7.2.jar包
- __closure和__stdcall区别
- 跨域访问!!!!
- MySQL存储过程与存储函数的区别
- 跟着8张思维导图学习javascript
- Linux多线程工程化开发,简单程序示例
- 排序问题
- oracle 常见命令
- IBM阵列卡报错信息(IBM server raid 4Lx/ 4Mx/ 5i/ 6M)
- Android四大基本组件介绍与生命周期