【发布时间】:2011-06-30 22:08:49
【问题描述】:
我有一个使用 ATL 的 DLL (A.dll),但其中不能包含 MFC。它需要一些东西是 MFC,所以我创建了一个名为 B.dll 的MFC regular DLL,它在运行时由 A.dll 自动加载(通过导入库)。
A 需要的 B.dll 部分是 B.dll 中定义的类(foo),该类中有一些使用 MFC 的东西。我可以在 A.dll 中创建一个 foo 对象吗? B 是否需要改为扩展 DLL?
常规 DLL 页面显示:
一个内的所有内存分配 常规 DLL 应保留在 动态链接库; DLL 不应传递给或 从调用可执行文件接收 以下任何一项:
指向 MFC 对象的指针
指向由 MFC 分配的内存的指针
但扩展 DLL 页面显示
客户端可执行文件必须是定义了 _AFXDLL 编译的 MFC 应用程序。A.dll 不能是 MFC 应用程序。
在这种情况下使用常规 DLL 会不会有问题?
谢谢,
布莱恩
【问题讨论】: