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调用是不是很简单。
相关文章推荐
- 关于vs2010下编译dll动态库,JNA接口在java中调用的问题
- java调用动态库(dll)的一些问题
- 应用程序调用dll动态库,参数有vector时崩溃的问题
- Win7/Win8中注册控件失败,提示“DllRegisterServer的调用失败,错误代码为0x******** ” 问题的解决办法
- code::Blocks生成的dll 在 java jni 调用遇到的问题
- 用C#调用C++DLL时的字符串指针参数传递问题
- C#调用C++dll 结构体参数传递问题
- VS2010调用Opencv2.4.10中dll问题的解决
- 关于DllRegisterServer的调用失败的问题解决办法 错误代码0x80040201
- Qt中隐式调用VS建立的dll动态库
- 动态调用dll遇到的问题
- PB调用DELPHI的DLL之间传值的问题,大家来看看
- C#调用C++ DLL相关问题
- 易语言调用 vs2010 vc++ 写出的dll带参数 报堆栈错误的问题
- java 调用DLL的问题。。。
- C#调用DLL时参数问题的一点心得
- windows下的动态链接问题(.dll文件的编写与调用)
- DLL中对话框的调用问题
- Delphi2010 调用 delphi6,7 dll的PChar参数的兼容问题
- 调用DLL动态库一些小结知识点!