VS2022环境下C++ DLL动态链接库的编写和调用
一、编写DLL动态链接库
1、新建动态链接库项目
2、新建类
3、宏定义
#ifdef DLL_API
# define DLL_API _declspec(dllexport)
# else
# define DLL_API _declspec(dllimport)
#endif
4、使用宏定义修饰类
/*h*/
#pragma once
#ifdef DLL_API
# define DLL_API _declspec(dllexport)
# else
# define DLL_API _declspec(dllimport)
#endif
class DLL_API Add
{
public:
Add();
~Add();
static int add(int a, int b);
};
/*cpp*/
#include "pch.h"
#include "Add.h"
Add::Add()
{
}
Add::~Add()
{
}
int Add::add(int a, int b)
{
return a + b;
}
二、调用DLL动态链接库
调用DLL动态链接库大致有两种方法:
一种是“隐式调用”,需要.h头文件、.lib符号文件、.dll动态库文件;
一种是“显示调用”,需要.dll动态库文件;
此处介绍第一种调用方式。
1、创建项目
2、项目属性 -> C/C++ -> 常规 -> 附加包含目录
在此处指定.h文件的路径。
3、项目属性 -> 链接器 -> 常规 -> 附加库目录
在此处指定.lib文件路径。(一般把.lib文件和.dll文件存放在相同位置)
4、 项目属性 -> 链接器 -> 输入 -> 附加依赖项
在此处指定.lib
5、在项目中#include链接库的.h文件
参考资料:
1、哔哩哔哩-老蓝的程序实践
Visual Studio 2019-显式调用C++动态库_哔哩哔哩_bilibili
2、CSDN-C++编写DLL动态链接库的步骤与实现方法
C++编写DLL动态链接库的步骤与实现方法_Yolov5动态链接库DLL导出(tensorrt版本——Labview调用)-其它代码类资源-CSDN下载