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

来源:互联网 发布:2g网络什么时候关闭 编辑:程序博客网 时间:2024/05/01 05:41

通用的动态链接库

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

}

 

}

 

原创粉丝点击