DLL中的函数如下:
extern "C" _declspec(dllexport) int add(int a,int b)
{
return a+b;
}
extern "C" _declspec(dllexport) int subtract(int a,int b)
{
return a-b;
}
在MFC工程中加载:
1、加载DLL
2、定义函数指针
3、获取所要加载的函数的地址
具体代码如下:
HINSTANCE hInst;
hInst = LoadLibrary("Dll1.dll"); //Dll1.dll动态链接库的名字
typedef int (*ADDPROC)(int a,int b);//定义函数指针类型
ADDPROC Add = (ADDPROC)GetProcAddress(hInst,"add");//获取函数int add(int a,int b)的地址
if(Add != NULL)
{
MessageBox("add is successfully loaded");
CString str;
str.Format("3+4=%d",Add(3,4));
MessageBox(str);
}
else
MessageBox("add is unsuccessfully loaded");
ADDPROC Subtract = (ADDPROC)GetProcAddress(hInst,"subtract");//获取函数int subtract(int a,int b)的地址
if(Subtract != NULL)
{
MessageBox("subtract is successfully loaded");
CString str;
str.Format("3-4=%d",Subtract(3,4));
MessageBox(str);
}
else
MessageBox("Subtract is unsuccessfully loaded");
本文介绍如何在MFC项目中加载DLL,并通过示例演示如何定义函数指针及获取DLL中导出函数的地址。示例中包含了加法和减法两个函数的加载过程。
4万+

被折叠的 条评论
为什么被折叠?



