创建动态链接库-访问动态链接库(通用的动态库的创建与访问)

通用的动态链接库

extern "C" _declspec(dllexport) void ShowNote(char *pszText)
{
 MessageBox(NULL,pszText,"提示 ",0);
}

extern "C"  关键字:防止c++语言对函数名重新命名改变,因为C++语言支持函数的重载

_declspec(dllexport) 关键字:导出动态链接库中的函数,如果不使用该关键字,导出列表中无法找到该函数,动态链接库就法务访问该函数。

 

访问动态链接库

  1.定义动态链接库模块句柄

 HMODULE  m_hMod;

2.在窗口初始化的时候,

利用api函数loadLibray加载动态库

m_hMod=LoadLibray("./comdll.dll");

3.定义一个按钮单击事件

在定义按钮单击之前,先定义一个函数指针类型

typedef void(*funShowNote)(char* pszText)

 

在单击事件中首先定义一个函数指针对象

 funShowNote showNote

利用APi函数GetProcAddress(m_hMode,"ShowNote")

将动态链接库中的函数名称转换为自己定义的函数指针对象

if(m_hMode)

{

 ShowNote=(funShowNote)GetProAddress(m_hMod,"ShowNote");

  if(ShowNote)

{

ShowNote("this is a test");

}

 

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值