C++调用dll文件步骤

C++ 专栏收录该内容
39 篇文章 1 订阅

一、基本知识

1、DLL是一个包含可由多个程序同时使用的代码和数据的库。使用dll可以提高代码的复用率,简化部署与安装。

二、使用方法

使用封装好的dll文件有两种方式,一种需要lib库;另一种不需要lib库,使用反射获取dll。分别为加载时动态链接和运行时动态链接。

1、加载时动态链接

在加载时动态链接中,应用程序像调用本地函数一样对导出的DLL函数进行显示调用。要使用加载时动态链接,需要在编译和链接应用程序时提供头文件和导入库文件(.lib)。

2、运行时动态链接

在运行时动态链接中,应用程序调用LoadLibrary函数或LoadLibraryEx函数以在运行时加载DLL。成功加载DLL后,可以使用GetProcAddress函数获得要调用的导出的DLL函数的地址。在使用运行时动态链接时,不需要使用导入库文件。

 

以调用以下三个文件为例:

方法一:加载时动态链接

1、将.dll文件、.lib文件、.h文件拷贝到目标工程的目录下

2、在目标工程下设置对应的lib库目录

 在头文件"CSCInterface.h"中声明接口函数:

int __stdcall GetCSCInterfaceVersion(char *version);
bool __stdcall OpenGuideLight();

将CSCInterface.h文件添加 .cpp文件即可使用

#include "CSCInterface.h"

3、在此基础上加载时动态链接还有以下方式,直接在.cpp文件下使用

using namespace std;
#pragma comment(lib,"..\\release\\CSCInterface.lib")
extern "C" _declspec(dllimport) int  GetCSCInterfaceVersion(char *version);
extern "C" _declspec(dllimport) bool  OpenGuideLight();

参考:https://www.jianshu.com/p/29ffeb66042e

三、解决调用dll文件时出现“无法找到“xxx.exe”的调试信息,或者调试信息不匹配。未使用调试信息生成二进制文件。”问题

首先打开菜单 项目->项目属性页 
1、选择 配置属性->链接器->调试->生成调试信息 改为 是 


2、选择 配置属性->C/C++ ->常规->调试信息格式 改为 用于“编辑并继续”的程序数据库(/ZI) 


3、选择 配置属性->C/C++ ->优化->优化 改为 已禁用(/Od) 

 

  • 3
    点赞
  • 0
    评论
  • 9
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值