dll动态库调用问题

最近在写dll动态库,遇到好多问题。这边分享下解决的方法。


dll动态库一般有两种加载方式,第一种是直接加载DLL文件,第二种是直接加载LIB文件。


什么都不说,直接上代码,程序员自己最好的交流就是代码。


第一种DLL加载方式:

在.h文件中接口定义为:




接口实现.cpp文件实现如下



测试demo调用方法:首先加载dll




如果dll加载成功,但是获取接口问空时可以用GetLastError去获取错误代码,可以找到因为什么而导致的错误。

用Depend工具查看dll定义的输出接口名字,看下名称是否相同。

在生成dll的工程中必须定义.def文件,把对外接口定义在里面。如下图所示


我就遇到了未写def文件而导致一直找到接口函数的问题。

然后就是使用定义的函数指针进行函数调用了,如图所示



第二种Lib文件调用方式:

接口定义.h文件定义如下:



接口实现的cpp文件跟上边类似,相信都会。这边就不截图了。


LIB文件调用就不需要定义def文件了。直接加载lib文件就ok

//#pragma comment(lib,"SignHotel.lib") 

首先的把相应的lib文件考到工程目录下。


调用的时候就更加简单了,直接可以用定义的函数。

如下所示://ShowClientInfo(data2,data1,data3);


这种lib调用是不是很简单。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值