您的位置:首页 > 其它

dll动态库调用问题

2016-04-25 14:50 148 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/zengwei0601/article/details/51242241

最近在写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调用是不是很简单。





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: