有关DLL函数名被篡改的问题

micr0soft 2008-04-06 08:34:11
我建立了一个WIN32 API 的DLL工程,里面有个函数 MYFUNC,可是编译完程序后我用DEPEDN工具查看时发现函数名子被改成了 _MYFUNC@4,哪位高手知道这是什么意思?都有什么含义?
...全文
124 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yxz_lp 2008-04-06
  • 打赏
  • 举报
回复
WINAPI是_stdcall,_stdcall调用方式前面加extern "C"没有任何效果。
micr0soft 2008-04-06
  • 打赏
  • 举报
回复
没用啊,我这么改了一下 函数声明
extern "C" __declspec(dllexport) int WINAPI MYFUNC(CALCINFO* pData);

但编译完发现没有改观啊
yxz_lp 2008-04-06
  • 打赏
  • 举报
回复
如果函数调用方式为_cdecl是,编译器会在函数名前加上_,@后面的数字为参数的大小(以字节为单位)。
你可以在输出函数前加上 extern "C"来禁止编译器更改函数名。

15,466

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧