函数调用方式也是函数特征的一种 所以如果要声明函数指针作为回调的话,调用方式也必须相同 调用方式说白了就是参数的传递方式是什么,栈的清理由谁来做 比如一般的WINAPI掉用也就是__stdcall调用方式 参数是从右向左push入栈,然后参数栈的清理由调用函数也就是被调用者来做 另一种你熟知的调用方式就是__cdecl 这种方式同样是参数从右往左入栈,不过参数栈空间的清理是由调用者来完成的 其他的还有__pascal调用(vc已不支持),__fastcall之类的,__fastcall的参数是用寄存器传递的 简而言之,传参方式的对应就是为了让编译器生成正确的函数调用时的传参代码和调用结束后的清理代码 如果不一样的话,函数调用前后,参数能否被正确传递,栈指针是否被正确恢复就很成问题了,当然也就不能保证函数调用的代码逻辑能否被正确实现 ---------------------------------------------------->>> 你写个编译器规定能这样就能这样调用,不用vc就行了- -