社区
C++ Builder
帖子详情
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
打赏
收藏
BCB中编译的动态库,为什么函数导出表中的函数名开头都有一个下划线呢?
例如: extern "C" __declspec(dllexport) int Add2(int x, int y) { return x+y; } 但是我用VS的dumpbin命令查看生成的DLL时,函数表中所有函数前面都有一个下划线。比如上面的函数在导出表中就是“_Add2”,为什么呢?
复制链接
扫一扫
分享
转发到动态
举报
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再试试
C++Builder调用vs2010演示代码
1)VsDll为vs2010工程,
编译
生成
动态库
。 2)
BCB
Call为
bcb
工程,调用
动态库
3)Viewdll.exe为查看DLL
导出
文件的工具。 注意事项一: VSDll里面有
一个
KpHttps.def LIBRARY "KpHttps" EXPORTS InitKpHttp Project...
BCB
调用VC的DLL(补充)
有时VC
编译
DLL后,用coff2omf把它的LIB文件转换成
BCB
的LIB还是无法使用,原因是
BCB
要求LIB
中
的C
函数
名
要有
下划线
开头
,而VC有时设置
编译
时
导出
的
函数
没有以
下划线
开头
,所以
BCB
链接时会提示没有这些函...
BCB
怎么调用DLL
中
的
函数
推荐你看《
BCB
编写DLL终极手册》这篇文章如下片段:二. 静态调用 DLL使用 $
BCB
path\Bin\implib.exe 生成 Lib 文件,加入到工程文件
中
将该文件拷贝到当前目录,使用 implib MyDll.lib MyDll.dll 生成// Unit1.h // ...
BCB
编写DLL
在
导出
函数
的返回值和参数
中
不要使用Borland特有的数据类型和结构体,如AnsiString之类,请使用C/C++标准的数据类型或使用 C/C++标准数据类型定义的结构体(特别不要使用String数据类型,
BCB
DLL向导生成的DLL工程...
c语言唯一
一个
不能被别的
函数
调用,VC C/C++
函数
调用约定(最全)
函数
调用约定常见的
函数
调用约定[5]:cdecl,stdcall,fastcall,thiscall,naked callMFC调用约定(VS6:Project Settings->C/C++ Calling convention:)1, __cdecl(C调用约定.The C default calling convention)C/C++ ...
C++ Builder
13,871
社区成员
102,693
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章