VS2022环境下C++ DLL动态链接库的编写和调用

这篇具有很好参考价值的文章主要介绍了VS2022环境下C++ DLL动态链接库的编写和调用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、编写DLL动态链接库

1、新建动态链接库项目

vs2022编译c 动态库,以及调用,C/C++,c++,开发语言,c语言,语法,visualstudio

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文件的路径。

vs2022编译c 动态库,以及调用,C/C++,c++,开发语言,c语言,语法,visualstudio

3、项目属性 -> 链接器 -> 常规 -> 附加库目录

在此处指定.lib文件路径。(一般把.lib文件和.dll文件存放在相同位置)

vs2022编译c 动态库,以及调用,C/C++,c++,开发语言,c语言,语法,visualstudio

4、 项目属性 -> 链接器 -> 输入 -> 附加依赖项 

在此处指定.lib

vs2022编译c 动态库,以及调用,C/C++,c++,开发语言,c语言,语法,visualstudio

5、在项目中#include链接库的.h文件


参考资料:

1、哔哩哔哩-老蓝的程序实践

Visual Studio 2019-显式调用C++动态库_哔哩哔哩_bilibili

2、CSDN-C++编写DLL动态链接库的步骤与实现方法

C++编写DLL动态链接库的步骤与实现方法_Yolov5动态链接库DLL导出(tensorrt版本——Labview调用)-其它代码类资源-CSDN下载文章来源地址https://www.toymoban.com/news/detail-629093.html

到了这里,关于VS2022环境下C++ DLL动态链接库的编写和调用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python调用动态链接库(DLL)

    Python调用动态链接库(DLL) 动态链接库(Dynamic Link Libraries,简称DLL)是一种被多个程序共享的库文件,可以被用于将程序分解为小模块,减少内存占用,加快程序运行速度。而Python作为一种高级编程语言,可以方便地调用外部的DLL文件。 在Python中,可以使用ctypes模块来调用

    2024年02月13日
    浏览(51)
  • LabVIEW调用动态链接库DLL

    LabVIEW调用动态链接库DLL 要调用DLL,首先必须确定该库是C/ C ++ DLL还是Microsoft .NET Assembly / .NET DLL。 若要确定具有哪种类型的库,可以检查DLL文件的可移植可执行(PE)标头。 DLL 是 C/ C ++ DLL : 1.       如果没有头文件,请查找头文件(* .h)或函数原型定义,请跳

    2024年02月03日
    浏览(45)
  • VS2019编译生成动态链接库dll的两种方式

     dll项目的默认结构如下:  四个文件的内容因为是默认生成的,不是特别重要, 接下来就是重要的修改部分: 方法一: 修改“pch.h”和“dllmain.cpp”文件,可以参考以下博主链接,但博主的引用部分有些繁琐,文末会介绍我的引用方法,和正常引用外部库步骤是一样的。这

    2023年04月09日
    浏览(48)
  • Java JNA调用dll动态链接库

    记录学习内容 C编译dll环境:         IDE:Clion         ToolChains:MinGW64 Java环境:         版本:jdk1.8 64位         JNA依赖版本:5.2.0 (可根据需要升级,本文以此版本为例) JNA(Java Native Access )提供一组Java工具类用于在运行期间动态访问系统本地库(native library:如W

    2024年02月12日
    浏览(43)
  • Rust:使用libloader调用动态链接库 (DLL)

    掘金为同人创作:掘金 最近需要使用Rust 动态调用 动态链接库,本来打算是使用 libloading 的,但是 libloading 在调用dll中的函数的时,是必须要在编译时确定参数和return的类型的。但后来发现了 libloader 这个包包, libloader 是基于 libloading 的,但是操作起来却比 libloader 方便。

    2023年04月10日
    浏览(49)
  • 前端(node.js)调用dll动态链接库

    使用 js node 调用dll 动态链接库. github地址如下,包含dll,里面就一个Add方法暴露出来 github Windows 11 22H2 node v16.20.0 Python 3.11.2 需要安装这俩库 ffi-napi app.js 第一种不好使,曲线救国的方式这个是。 python-shell app.js python

    2024年02月16日
    浏览(46)
  • VS2019 DLL动态链接库生成多个正在运行的Windows应用之间共享的DLL [三]

              本例程演示如何使用 Visual Studio IDE 通过 Microsoft C++ (MSVC) 编写自己的动态链接库 (DLL)。 然后,该演练演示如何从其他 C++ 应用中使用 DLL。 DLL(在基于 UNIX 的操作系统中也称为“共享库”)是最有用的 Windows 组件类型之一 。 可以将其用作共享代码和资源、缩小应

    2024年02月17日
    浏览(41)
  • windows VS2015 Steup 打包发布软件并附带动态链接库dll

    打包:  方法一:VS 2015 Steup 打包发布软件_柠檬野生菌的博客-CSDN博客_vs2015 exe发布  1、插件下载 Microsoft Visual Studio 2015 Installer Projects 工具-扩展与更新-联机-搜索 Installer Projects 2、安装 关掉VS 双击下载好的 .exe 安装 3、打开VS新建Steup Project项目 注意项目名称 需要跟你打包的

    2024年02月06日
    浏览(51)
  • Python 使用 ctypes 调用 C/C++ DLL 动态链接库

    ctypes 有以下优点: Python内建,不需要单独安装 Python可以直接调用C/C++ 动态链接库(.dll 或 .so) 在Python一侧,不需要了解 c/c++ dll 内部的工作方式 提供了 C/C++ 数据类型与Python类型的相互映射,以及转换,包括指针类型。 ctypes 在下列场景可以发挥较大作用 运算量大的操作可以写

    2024年02月06日
    浏览(50)
  • [速成] Visual Studio C/C++创建Dll(动态链接库)并调用

    以下示例均在VS2022环境下完成。 注意: _EXPORTING 是笔者 自定义宏 ,用于区分当前是导出dll还是调用dll,要实现导出函数,还需要在实现Dll函数功能的 项目属性 里,添加 预处理定义 (记得结尾加 分号 ),如下图: _declspec(dllexport) 是VC的,表示 导出函数 到dll; _declspec(dllim

    2024年02月04日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包