Regular DLL 可以被任何WIN32环境装载,它导出C风格的函数,但是不能导出C++类、成员函数或重载函数。
静态连接的Regular DLL,包括所有它需要的MFC库代码的拷贝,可以独立于MFC库。
动态连接的Regular DLL相对很小,但是要保证相应的MFC DLL在目标机器上存在。Extension DLL 支持C++接口,可以导出整个类,它要求客户程序被动态地连接到MFC库,并且客户程序和Extension DLL要一致连接到MFC DLL的相同版本(mfc42.dll,mfcd42.dll).
静态连接的Regular DLL,包括所有它需要的MFC库代码的拷贝,可以独立于MFC库。
动态连接的Regular DLL相对很小,但是要保证相应的MFC DLL在目标机器上存在。Extension DLL 支持C++接口,可以导出整个类,它要求客户程序被动态地连接到MFC库,并且客户程序和Extension DLL要一致连接到MFC DLL的相同版本(mfc42.dll,mfcd42.dll).
如果只是提供给VC的程序用,而且一般情况下要求使用比较简单,可以采用第三种方式,这种情况下有可能会发生MFC版本不一致的情况
Regular DLL使用"C"接口,可以使用MFC的类如果你的DLL需要使用MFC,并且只会被MFC程序调用,你可以选择Regular DLL或者Extension DLL。如果你的DLL实现可重用的MFC派生类,或者你需要在MFC程序和DLL之间传递MFC派生对象,你必须使用Extension DLL。
Extension使用C++/MFC类接口,