c++关于动态加载Dll.
来源:互联网 发布:光盘菜单制作软件 编辑:程序博客网 时间:2024/04/29 18:28
加载dll是开发程序必不可少的步骤之一,一般情况下用到第三方dll的时候没有.lib文件以及.h文件。那么就需要动态加载dll。当然用到第三方dll的时候应该会有开发文档。不然的话
虽然用工具能查看函数原型,但是里面的参数问题也会有困扰。
那么动态加载dll呢,网上资源很多。我现在也整理了出来。
HMODULE hDLL;
hDLL=LoadLibrary("动态库名");
这样呢就把动态库加载上了,但是我用的绝对路径,需要把这个动态库复制到你源码的根目录下。比如你是Demo,那么就复制到Demo里面的Demo里面去。
然后就是把封装好的函数取出来了。
typedef int(*FUNCTION)(原函数的参数,多个用,隔开);那里 的int呢,是函数原型,比如是void 那么就把int换成void。
FUNCTION fun=(FUNCTION)GetProcAddress(hDLL,"函数名");
这样就取得函数了,
调用函数用fun(参数)。这里fun就是你加载动态库的函数别名。当然你也可以用函数原名, 至于大写的FUNCTION就是一个指针,给函数开辟了空间,这个名字也可以换.
最后用完这个别忘了FreeLibrary(hDLL);
这就是动态加载dll了,如果你需要的函数很多,也不止在一个函数里面用,我建议把他设为全局变量。
HMODULE hDLL;
hDLL=LoadLibrary("动态库名");
typedef int(WINAPI *FUNCTION)(原函数的参数,多个用,隔开);
FUNCTION fun=(FUNCTION)GetProcAddress(hDLL,"函数名");
FreeLibrary(hDLL);- c++关于动态加载Dll.
- 动态加载DLL(C#)
- C++动态加载 DLL
- 动态加载DLL
- 动态加载dll
- 动态加载DLL
- C#动态加载DLL
- DLL函数动态加载
- 动态加载Dll
- C++ 动态加载DLL
- C#动态加载DLL
- C#动态加载DLL
- C#动态加载DLL
- 动态加载 dll
- C#动态加载DLL
- C#动态加载DLL
- C++动态加载dll
- C#动态加载DLL
- Git GUI windows客户端保存用户名与密码的问题
- mysql数据库迁移到db2数据库
- redhat5.8安装oracle11g---1
- 重装Eclipse、离线安装ADT、Android SDK
- Spring读取properties方式
- c++关于动态加载Dll.
- 一些前端笔试总结
- php中字符串函数
- null与空串引发的分组计算错误
- 前向渲染 延迟渲染
- 数据库表分割技术:水平分割、垂直分割、库表散列
- 这是一个没有现金的国家——丹麦
- 【openssl】openssl安装以及编译使用
- CSS中字体单位的说明