本文主要是介绍MFC中使用def文件导出动态库的方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
首先创建一个动态库(dll)。
首先是.h文件
int _stdcall add(int a, int b);
因为我们要使用def文件导出动态库,所以这里就不用_declspec(dllexport)来导出了。
.cpp文件
int _stdcall add(int a, int b)
{return a + b;
}
.def文件
LIBRARY "FirstDLL"EXPORTSadd
然后我们试试调用这个动态库能不能用。
创建一个MFC的基本对话框,来调用这个动态库。
Dlg.cpp文件:
typedef int(_stdcall *ADD)(int a, int b);void CSecondDlg::OnBnClickedButton1()
{HINSTANCE mdll = LoadLibrary("..\\Debug\\FirstDLL.dll");ADD fun;if (mdll != NULL){fun = (ADD)GetProcAddress(mdll, "add");if (fun != NULL){int ret = fun(1, 2);char strRes[100] = { 0 };sprintf_s(strRes, "和为%d", ret);AfxMessageBox(strRes);}else{AfxMessageBox("函数加载失败");}}else{AfxMessageBox("dll加载失败"); }FreeLibrary(mdll);// TODO: 在此添加控件通知处理程序代码
}
结果:
这篇关于MFC中使用def文件导出动态库的方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!