MFC win32 Dll的创建和使用

本文详细介绍了如何创建一个MFC动态链接库(Dll),包括设置导出函数、编译生成Dll文件。同时,文章讨论了两种使用Dll的方法:隐式链接和显式链接,详细说明了每种方法的步骤,如复制Dll文件、声明和调用导出函数等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.新建win32 Dynamic-Link Library 类型的工程,工程取名 MFCDll,按  下一步 ,直至结束

2.在MFCDll.cpp 代码末端 写函数

例如:_declspec(dllexport) int  add(int a,int b) //例子来自  vc++深入了解  书中
{
return a+b;
}

_declspec(dllexport)  的作用是从Dll中导出的函数中,给每个函数添加标识符,可以不导出

3.在MFCDll.def 代码末端 写  add@1; 表示第一个函数是

4.利用Build命令生产Dll,之后再Debug目录下,可以看到MFCDll.dll文件


使用

一.隐式使用

1.引入库文件

复制MFCDll.dll到需要调用动态库的程序下面

2. external int add(int a,int b);//声明函数是外部定义

然后在函数中可以直接调用 MFCDll.dll 导出的add函数

void ------()

{

   CString str;

  str.Format("5+3=%d",add(5,3);

 MessageBox(str);

}

二 显示使用

1.引入库文件

复制MFCDll.dll到需要调用动态库的程序下面

2.LoadLibrary()函数

void-----()

{

hInst=LoadLibrary("MFCDll.dll");//加载动态库
typedef int(*ADDPROC)(int a,int b);//定义函数指针类型。其实ADDPROC是一个函数指针类型
ADDPROC Add=(ADDPROC)GetProcAddress(hInst,"add");//获取DLL导出的函数,add是dll中你需要的函数名
if (!Add)//判断有没有得到导出函数add的地址
{
	MessageBox("fail");
	return;
}
CString str;
str.Format("5+3=%d",Add(5,3));
MessageBox(str);
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值