BCB中编译的动态库,为什么函数导出表中的函数名开头都有一个下划线呢?

acqy 2005-07-29 08:52:43
例如:
extern "C" __declspec(dllexport) int Add2(int x, int y)
{
return x+y;
}

但是我用VS的dumpbin命令查看生成的DLL时,函数表中所有函数前面都有一个下划线。比如上面的函数在导出表中就是“_Add2”,为什么呢?
...全文
301 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
僵哥 2005-07-30
  • 打赏
  • 举报
回复
声明为__stdcall就好了
extern "C" _declspec(dllexport) int _stdcall RegisterDll(PChar File,bool Register)
xili 2005-07-30
  • 打赏
  • 举报
回复
用vc的工具吧, 对准dll做一下,生成一个新的 lib
acqy 2005-07-29
  • 打赏
  • 举报
回复
我LoadLibrary以及GetProcAddress的时候岂不是也要加这个下划线?
acqy 2005-07-29
  • 打赏
  • 举报
回复
有没有办法去掉这个下划线?
FengSC 2005-07-29
  • 打赏
  • 举报
回复
正常正常,这是标准C的语法,是一种约定
Waiting4you 2005-07-29
  • 打赏
  • 举报
回复
加个__stdcall再试试

13,871

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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