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

论坛 期权论坛 脚本     
匿名技术用户   2020-12-30 21:20   11   0

通用的动态链接库

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");

}

}

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP