关于多次调用dll(dll中有全局变量)的问题。有星星的进啊

gb123456 2007-01-04 09:44:43
用别人的dll, dll比较复杂,dll中有很多全局变量,动态调用dll执行一次需要20分种左右,dll运行正常,有dll源代码。dll不怎么好改,代码有点复杂。
现在遇到一个问题,我在对一个IP地址执行一操作时,调用此dll过程中,点停止按钮时中途马上结束(需要释放dll?)。 并且马上我又想对另一个IP执行同样的操作,也需要调用此dll。

在第2次调用前,是不是需要先释放? 还有一个问题就是第2次调用dll时就得不到正常的信息了,怎么解决啊

...全文
515 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ProgrameMan 2007-01-04
  • 打赏
  • 举报
回复
我的dll执行一次需要20分种,如果运行了3分钟后点停止按钮,就FreeLibrary的话,程序会异常退出。
如果不FreeLibrary的话,马上又对另一ip执行操作调用此dll时又不正常,可能是dll全局变量不是初始值的原因了!!

如果出现你说的问题应该是因为
1. dll 本身存在缺陷。 需要修改
2. 可能是你没有按照约定去调用dll中的函数,例如当开始新的执行操作时需要调用一个固定的函数,dll 利用这个函数去初始化相关的变量(如果dll 没有提供这样的函数,应该就是dll的设计存在缺陷)
gb123456 2007-01-04
  • 打赏
  • 举报
回复
我的dll执行一次需要20分种,如果运行了3分钟后点停止按钮,就FreeLibrary的话,程序会异常
退出。
如果不FreeLibrary的话,马上又对另一ip执行操作调用此dll时又不正常,可能是dll全局变量不是初始值的原因了!!
uoice 2007-01-04
  • 打赏
  • 举报
回复
给DLL加个initial函数,初始化这些全局变量嘛
teli_eurydice 2007-01-04
  • 打赏
  • 举报
回复
建议你改改,既然有代码,要不问题以后更大
hailongchang 2007-01-04
  • 打赏
  • 举报
回复
dll中有很多全局变量!! 不释放的话,下次调用会出错的!有什么好的解决办法。
---------------------------------------------------------

那就用一次,加载一次,然后释放一次了,用LoadLibrary 和 FreeLibrary
gb123456 2007-01-04
  • 打赏
  • 举报
回复
dll中有很多全局变量!! 不释放的话,下次调用会出错的!有什么好的解决办法。
syy64 2007-01-04
  • 打赏
  • 举报
回复
那就引式调入DLL,只调一次就行。
teli_eurydice 2007-01-04
  • 打赏
  • 举报
回复
DLL 全局加载就可以了

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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