DLL内存管理问题? 涉及Extended Mfc DLL/ imlicit explicit link等

liqiyu 2003-10-17 02:06:46
DLL内存管理?

首先是一个 MFC扩展DLL,导出一个C++类。该DLL称为B
其次是一个 扩展DLL(或者regular MFC DLL)A,这个DLL导出几个函数. A隐式连接B.

客户EXE程序,使用LoadLibrary显示调用A中的函数(间接用到了B).

Exe ----explicit---> (A DLL) ---- implicit ----> (B DLL)

问题是,A中的函数,作的事情是, new一些B导出类的对象,交给了Exe.
Exe可以使用访问这些对象,但是如果FreeLibrary之后,这些对象就不能
访问了. 我觉得奇怪的是, dll new操作的不是 caller thread所属
process的heap的吗? 怎末把DLL卸载,这些DLLnew出来的对象就不能用了
呢?

如果不FreeLibrary或者, exe也使用implicit就没有问题。
...全文
124 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

15,471

社区成员

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

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