某个dll释放失败,修改dll名字后释放成功

zht100151 2018-04-09 03:43:57
不知大家有没有遇到过这个问题,一个动态库 A.dll 我是用完就释放的,FreeLibrary 没有报错,反而是主程序关闭时才报这个A.dll的地址错,说明FreeLibrary没有释放到这个dll。神奇的在后面,把这个dll改成别的名字 如B.dll,然后调用一下这个B.dll,释放正常,关闭主程序也正常!!后面我又做了实验,找了个正常使用的C.dll,把它名称改成A.dll,然后调用它,发现它也是FreeLibrary 没有报错,主程序关闭时报地址错。这个问题困扰了我几天,,,我的操作系统是Win10


我是用exe调用一个dll公共模块,然后在这个dll公共模块调用A、B、C.dll来测试的,刚才直接用exe调用A.dll,退出exe的时候报runtime error错
...全文
1508 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hongss 2018-04-17
  • 打赏
  • 举报
回复
释放后,将句柄置空试试
ppluming 2018-04-16
  • 打赏
  • 举报
回复
我的建议,不要怀疑系统问题,所以只要你的IDE环境没问题的话,一定是代码有问题。 我也是WIN10系统,IDE正常,如果DLL调用有问题,一定是DLL代码写的有问题,比如没有释放资源,接口调用定义不一致一类的,问题需要自己去找。 当然没时间找原因的话,你就掩盖问题吧。
xxfly 2018-04-13
  • 打赏
  • 举报
回复
是不是有什么监控或杀毒软件引起的

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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