动态库如何动态加载

2024-10-14 13:28:18

动态链接库的动态加载,依靠LoadLibrary()和GetProcAddress猾诮沓靥()两个Api函数,前者用于加载动态库,后者用于获取动态库相应函数的地址。

工具/原料

vs2017

一、需要的API函数

1、LoadLibrary函数的声明如下,它只有一个参数,指明要加载的动态库。

动态库如何动态加载

二、动态加载动态库的实例

1、这里以user32.dll中的MessageBox函数为例,开发环境使用vs2017。首先点击“文件”——“新建”——“项目”建立一个win32控制台程序。

动态库如何动态加载

2、正常的使用MessageBox代码如下,直接调用即可。//vs2017中的代码#include <t艘早祓胂char.h>#include <windows.h>int main(){ MessageBox(0, _T("hello world!"), _T("MessageBox"), MB_OK); return 0;}

动态库如何动态加载

4、然后定义一个函数指针类型,用定义的函数指针类型定义函数指针。用于保存GetProcAddress()获取的MessageBox函数地址。

动态库如何动态加载

6、最后通过函数指针调用MessageBox()函数即可。

动态库如何动态加载
猜你喜欢