首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

extern "C" _declspec(dllexport) _stdcall void func()解决思路

2012-04-05 
extern C __declspec(dllexport) __stdcall void func()1、extern C __declspec(dllexport) __stdcall

extern "C" __declspec(dllexport) __stdcall void func()
1、extern "C" __declspec(dllexport) __stdcall void Func()

2、extern "C" __declspec(dllexport) void Func()

这两个有什么区别?

c++ 写得 dll 在 delphi 中用 stdcall 调用,第一个失败,第二个成功

为什么?


[解决办法]
__stdcall是一种调用约定具体可以参看MSDN,他规定了参数压栈方式等等,
至于不加,那要看你工程编译器默认什么调用约定,也可能是__stdcall也就是等价
[解决办法]
_stdcall又把你的函数名改了。。。。


用def文件吧
[解决办法]
第一个是_stdcall调用约定;
第二个是c调用约定
[解决办法]
你的 _stdcall 再次 让函数名变乱了

_cdecl 却不会

探讨

引用:

第一个是_stdcall调用约定;
第二个是c调用约定


我本来也这么想的,可是在 delphi 中用 stdcall 调用,第一个失败,第二个成功 why ?

热点排行