动态加载dll库时,GetProcAddress为什么返回0

大石头1987 2010-08-02 04:25:08
在动态调用dll时,我用GetProcAddress来的到函数的地址,为什么是0x00000000。
...全文
646 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
真相重于对错 2010-08-03
  • 打赏
  • 举报
回复
用depends.exe 或者dlldump看看输出的函数具体名字叫什么
wwgddx 2010-08-03
  • 打赏
  • 举报
回复
应该是在DLL头文件里没有加dllexport dllimport extern "C"等导出标致
大石头1987 2010-08-03
  • 打赏
  • 举报
回复
解决了,但还是稀里糊涂的。
jastdoit 2010-08-03
  • 打赏
  • 举报
回复
你看下hDll的值是多少?如果有值再检查下函数名和函数定义是否正确!
大石头1987 2010-08-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 visualeleven 的回复:]
引用 2 楼 wang19870102 的回复:
那怎么正确的返回函数的地址?请说详细点。

dll路径正确不?dll中函数导出了没?
GetLastError看看返回值就清楚了
[/Quote]
dll 加载成功了,就是函数没法访问。
Addfun=(lpAddFun)GetProcAddress(hDll,"add");
Eleven 2010-08-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wang19870102 的回复:]
那怎么正确的返回函数的地址?请说详细点。
[/Quote]
dll路径正确不?dll中函数导出了没?
GetLastError看看返回值就清楚了
wltg2001 2010-08-02
  • 打赏
  • 举报
回复
在GetProcAddress之用用GetLastError看一下失败的原因是什么
slblake 2010-08-02
  • 打赏
  • 举报
回复
1、DLL是否加载成功;
2、获取函数的名称是否存在;
大石头1987 2010-08-02
  • 打赏
  • 举报
回复
那怎么正确的返回函数的地址?请说详细点。
Eleven 2010-08-02
  • 打赏
  • 举报
回复
失败了。。。

15,472

社区成员

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

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