1、vc向导创建mfcdll项目; 2、创建需要导出的类,正常创建 3、类的h文件中声明class时添加_declspec(dllexport),即由class MyClass{} 变为class _declspec(dllexport) MyClass{}; 4、在dll项目的App类中,头文件中添加extern “C” __declspec(dllexport) MyClass; cpp文件中添加extern “C” _declspec(dllexport) MyClass; 5、完成导出类dll创建。
1、拷贝dll文件+dll.lib+MyClass.h到项目中; 2、在需要使用MyClass类的类中添加
#include "MyClass.h" #pragma comment(lib,"Mdll.lib") class __declspec(dllimport) MyClass;以上三句; 3、完成引用dll类,可随即使用该类。
1、在dll项目中的App类cpp文件中追加需要导出的函数,例如:
extern "C" _declspec(dllexport) void Demo() { AFX_MANAGE_STATE(AfxGetStaticModuleState()); DemoDlg dlg;//显示dll中的一个对话框 dlg.DoModal(); }2、在dll项目的App类的头文件中添加extern “C” _declspec(dllexport) void Demo(); 3、完成导出函数dll的创建。
–1、拷贝dll文件+dll.lib+dll.h到项目中; –2、在需要使用函数的类中添加
#include "dll.h" #pragma comment(lib,"dll.lib")–3、完成函数添加,在作用区域内可随意使用函数。
–1、拷贝dll文件到项目中; –2、通过以下实例使用加载dll和释放dll;
typedef void (*pFunction)(void); HINSTANCE hLibrary; //DLL句柄 hLibrary = LoadLibrary("dll.dll"); if (hLibrary == NULL) { //加载失败 return; } pFunction pDemo = (pFunction)GetProcAddress(hLibrary,"Demo"); if (NULL==pDemo) //没有Demo函数 else pDemo(); FreeLibrary(hLibrary);//不再使用hLibrary时释放–3、完成使用过程。
