1 DLL分类:
1 MFC Extension Dll
MFC扩展动态库,动态库内部可以使用MFC类,提供的外部接口也可以使用MFC类作为参数。也就是说MFC类可以在调用者与dll间相互传递。
调用者与DLL需使用相同版本MFC动态库。
WIN32,_DEBUG,_WINDOWS,_WINDLL,_AFXDLL,_MBCS,_AFXEXT
2 MFC Regual DLL:
MFC标准动态库,动态库内部可以使用MFC类,但其提供的外部接口不能使用MFC类,也就是说MFC类不可再调用者与dll间相互传递。
WIN32,_DEBUG,_WINDOWS,_WINDLL,_AFXDLL,_MBCS,_USRDLL
3 Win32 DLL
Win32动态库,没有任何与MFC相关的dll。
WIN32,_DEBUG,_WINDOWS,_MBCS,_USRDLL,
2 宏
_WINDLL 表示要做一个用到MFC的DLL
_USRDLL 表示做一个非扩展MFC DLL(相对MFC扩展DLL而言)
_AFXEXT 表示要做一个MFC扩展DLL
这3个宏搭配可定义以上3种DLL
_AFXDLL 表示MFC以动态链接库形式提供,Using MFC in a Shared DLL;
否则代表MFC以静态方式连接,Using MFC in a static Library;