Visual C++
使用 AFX_EXT_CLASS 导出和导入
使用 AFX_EXT_CLASS 导出和导入
扩展 DLL 使用 AFX_EXT_CLASS 宏导出类;链接到扩展 DLL 的可执行文件使用该宏导入类。用于生成扩展 DLL 的相同头文件可通过 AFX_EXT_CLASS 宏与链接到 DLL 的可执行文件一起使用。
在 DLL 的头文件中,将 AFX_EXT_CLASS 关键字添加到类的声明中,如下所示:
class AFX_EXT_CLASS CMyClass : public CDocument
{
// <body of class>
};
{
// <body of class>
};
当定义了预处理器符号 _AFXDLL 和 _AFXEXT 时,该宏被 MFC 定义为 __declspec(dllexport)。但当定义了 _AFXDLL 而未定义 _AFXEXT 时,该宏被定义为 __declspec(dllimport)。定义后,预处理器符号 _AFXDLL 指示共享 MFC 版本正在由目标可执行文件(DLL 或应用程序)使用。当 _AFXDLL 和 _AFXEXT 都定义了时,这指示目标可执行文件是扩展 DLL。