C++ 制作动态链接库.dll及.dll使用

1 篇文章 0 订阅
1 篇文章 0 订阅

声明:IDE是Visual studio -version 2022 

其制作的动态链接库dll里面实现简单的加减法,提供给其他项目调用。

一、动态链接库(DLL)创建

1、创建DLL工程

流程:文件 -> 新建 -> 项目 -> 动态链接库(DLL)-> Next  - > 填写项目名。

图1:DLL项目创建

 图2:DLL项目名设置

 

2、添加类

流程:右键项目 -> 添加 -> 新建项 -> Visual C++ -> C++ 类 -> 填写名称 -> 添加 -> 确定

图3:左侧显示IDE自动添加的文件

 图4:添加C++类(unityMath)

 图5:UnityMath类添加成功

 3、编辑UnityMath类文件内容

流程:在UnityMath.h头文件中声明方法,在UnityMath.cpp文件中实现方法。

注意:图6中注释文字内容

① 利用#define定义了一个UnityMath_API的宏命令
_declspec(dllexport)声明导出函数供外部调用
_stdcall Windows API默认的函数调用协议
④ 必须加入 extern "C",如果不加的话C#调用会找不到入口方法名

图6:在.h头文件中声明对方的方法

 图7:在.m文件中实现.h文件声明的方法

 4、制作DLL

流程:

① 在确定.h和.cpp文件中代码无误后,生成解决方案(Ctrl + Alt + F7);

② 在UnityMath项目x64->Debug文件内找到这三个文件(UnityMath.h、UnityMath.lib、UnityMath.dll);(如果制作的是32位的,则是x86->Debug)

图8:制作成功

图9:必要的文件(可单独拷贝出,放置桌面备用)

 

二、其他项目使用UnityMath动态链接库(DLL)

 1、前期准备(文件引入项目)

① 新建一个新的项目testDLL;

② 在testDLL文件目录下,新建两个文件夹(lib、include);

③ 将UnityMath.h头文件,拷贝至include文件夹;

④ 将UnityMath.lib文件,拷贝至lib文件夹;

⑤ 将UnityMath.dll文件,拷贝至testDLL项目文件夹内。

图10:前期文件准备

 2、testDLL项目属性配置

2.1 配置属性 -> 常规 -> 输出目录 -> 输出目录

$(SolutionDir)$(Configuration)\项目文件名

2.2 配置属性 -> C/C++ -> 常规 -> 附加包含目录

该项是放置.h头文件路径的(UnityMath.h所在的路径)

2.3 配置属性 -> 链接器 -> 常规 -> 附加库目录

该项放置.lib文件路径(UnityMath.lib所在的路径)

PS:

① 图中1路径,先添加;

② 图中2路径等Debug编译成功之后,把UnityMath.dll拷贝一份防止Debug->testDLL文件夹内,保持.dll和.exe在同一文件夹下(如果Release之后也拷贝一份,并把路径配置上)

2.4 配置属性 -> 链接器 -> 输入 -> 附加依赖库

该项添加.lib文件名(UnityMath.lib)

 3、调用动态链接库(DLL)

① 在testDLL项目中,编辑testDLL.cpp

② 引用UnityMath.h

③ 调用动态链接库dll中的两个对外的方法

 

控制台已经打印出dll函数方法返回的结果,证明dll制作、调用成功

 

  • 11
    点赞
  • 85
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
c telnet.dll动态库是一种用于远程登录和执行命令的动态链接库。它提供了一系列函数和方法,使开发人员能够在C语言环境中实现telnet协议的功能。使用动态库,可以轻松地连接到远程服务器,进行远程操作。 c telnet.dll动态库具有以下特点和功能: 1. 远程登录功能:可以通过该动态库实现与远程服务器的连接和登录。开发人员可以使用提供的函数,使用用户名和密码进行身份验证,并与服务器建立安全的通信通道。 2. 命令执行功能:一旦建立了与远程服务器的连接,该动态库允许开发人员在远程服务器上执行命令。开发人员可以使用库中提供的函数,将命令发送到远程服务器,并接收命令执行结果。 3. 数据传输功能:除了命令执行,c telnet.dll动态库还支持数据的双向传输。开发人员可以使用该库中的函数发送和接收数据,实现更复杂的远程操作。 4. 错误处理和异常处理:该动态库提供了错误处理和异常处理功能,以便开发人员能够更好地处理可能出现的错误和异常情况。通过使用提供的函数和方法,可以及时捕获和处理错误,保证应用程序的稳定性和可靠性。 总之,c telnet.dll动态库为开发人员提供了在C语言环境中实现telnet协议功能的工具。它简化了与远程服务器的连接和操作过程,并通过提供丰富的函数和方法,使开发人员能够更轻松地进行远程操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值