程序退出后,DLL仍然在内存中

时间:2015-03-25 10:52:17

标签: c++ qt dll

也许我的问题完全错了,但这是我想到的第一件事。

所以,我有两个流程(两个exes) - 让我们称之为 A B 。流程 A 在单独的工作目录中启动处理 B 作为分离流程(Qt' s QProcess::startDetached())。在某些时候, B 决定更新 A 。它向它发送一个信号并 A 退出(QApplication::quit())。之后 B 下载文件并尝试将其替换(解压缩)到 A 的文件夹,但解压缩失败。我用来解压缩的库( quazip )没有任何错误 - 它只是失败了。另一个有趣的事情 - 在解压缩过程中删除 A 文件夹中的某些文件。

这是我项目的结构:
流程A a.exe使用1.dll2.dll3.dll
流程B b.exe使用1.dll2.dll

这些dll是相同的,但它们被复制到不同的文件夹 - A B 的文件夹。其中一个dll用于通过套接字/服务器进行通信。另一个dll使用外部变量(不知道 - 可能它以某种方式相关)。

该zip文件具有相同的a.exe1.dll2.dll3.dll个文件。 B 无法将某些文件解压缩到 A 的文件夹,但该文件夹中的某些旧文件会被删除。根据任务经理 A 未运行,zip文件绝对正确。

我的操作系统是Windows 7。

0 个答案:

没有答案