c++关于动态加载Dll.

加载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);



  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值