CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  基础类

LoadLibrary VC生成的dll为何失败?

楼主baizhao(云散)2006-03-05 00:14:33 在 C++ Builder / 基础类 提问

我在BCB   6   (updata4)中用LoadLibrary函数装载一个VC(应该是VC6或以前的VC版本)生成的dll,总是返回NULL,调用GetErrorCode函数得到错误码是126,即"找不到模块(modual)"。但是,用这个函数装载相同位置的另一个dll,就可以。重启、关闭BCB重新打开等方法均无效。  
  另一方面,用VC   7,可以静态调用前述有问题的dll。(已经试过,无法在BCB中静态调用,因为无法生成BCB可用的lib文件,无论是用implib对dll生成,还是用coff2omf对VC的lib文件进行转换。)  
  不知是何原因?莫非dll也有不同文件结构或者版本,导致VC能够加载BCB不能?  
  各位高人帮帮忙,谢谢。 问题点数:100、回复次数:6Top

1 楼baizhao(云散)回复于 2006-03-05 00:25:44 得分 0

不好意思,第二行打错了函数名,得到错误码的函数应该是:GetLastError()Top

2 楼0delphi(睡个舒服觉)回复于 2006-03-05 01:07:39 得分 90

用VC   7,可以静态调用前述有问题的dll。  
   
  --------------------------  
  用   vc   7   可以动态的调用吗?如果在那个有问题的dll中   对   dllmain有处理函数的话,动态和静态是不一样的Top

3 楼baizhao(云散)回复于 2006-03-05 01:24:56 得分 0

好,明天试一下,再回来继续请教。Top

4 楼Behard(我爱天安门)回复于 2006-03-05 13:58:42 得分 10

不理解楼主的意思   说得不够清楚Top

5 楼zyyoung(倡导开源)回复于 2006-03-05 15:16:30 得分 0

UPTop

6 楼baizhao(云散)回复于 2006-03-06 13:30:01 得分 0

谢谢大家,已经解决了。  
  果如0delphi(睡个舒服觉)所言,静态调用和动态不一样,试验了一下,用VC   7也无法用LoadLibrary装载那个dll。看来我对动态调用和静态调用dll的差别理解还不够深刻。  
  忽然想起在某个帖子上见过LoadLibraryEx,使用之,LoadLibraryEx("dll文件名",NULL,1)即可,装载成功。最后面那个参数1,在VC里面宏定义成   DONT_RESOLVE_DLL_REFERENCE,意义在MSDN里面有详解,不多说了。  
  谢谢各位,尤其是0delphi(睡个舒服觉)。Top

相关问题

  • Vc++中生成的DLL如何使用
  • 为何VC不能生成DLL文件
  • VC中调用VB生成的DLL(java调用VB的DLL)
  • 在VC下如何写DLL,我用VC向导生成了一个空的DLL。
  • 为何用VC生成的DLL用RUNDLL32运行总是报错?
  • 请问怎么调用VC++生成的dll?
  • vc中有没有工具可以生成dll的lib ?
  • C#能象VC++一样调用fortran生成的DLL吗?
  • 为何VC++.net Class Library 工程中无法生成DLL文件?
  • cb中生成的dll,在vc中调用的问题,超难!!

关键词

  • dll
  • 函数
  • vc
  • bcb
  • 调用
  • 静态
  • 生成
  • 装载
  • loadlibrary
  • 谢谢

得分解答快速导航

  • 帖主:baizhao
  • 0delphi
  • Behard

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo