1. 扩展Dll
可导出整个类,只能被C++程序使用
1)创建一个MFC扩展DLL应用程序 DllExtMFC001
2)插入一个新类 MyTestDlg
在头文件中修改申明(加上AFX_EXT_CLASS):
class AFX_EXT_CLASS MyTestDlg : public CDialog
3)新建一个MFC应用程序 MFCUseExtDll,并将上面生成的MyTestDlg.h文件加入项目中
4)在合适的地方加入以下代码:
#include "MyTestDlg.h"
#pragma comment ( lib, "DllExtMFC001.lib" )
5)将 DllExtMFC001.lib, DllExtMFC001.dll文件拷到MFCUseExtDll项目的文件夹下
这样,可在DllExtMFC001项目中生成dll,在MFCUseExtDll项目中使用生成的dll了
2. 正规Dll
只能导出函数(C风格),不能导出C++类,重载函数等,可被其它Win32编程环境使用
操作基本如上,不过只能导出函数,变量
使用如下方式导出函数:
extern "C" _declspec( dllexport ) void MyDllFunc( void );
在其他项目中导入申明:
extern "C" _declspec( dllimport ) void MyDllFunc( void );
可直接使用了