VS2015+DLL封装实例

news/2024/7/24 10:03:17

需要把几个复杂函数封装起来,包括A.h, B.h以及相应的A.cpp,B.cpp,下面给出具体操作实例。

1、创建DLL工程

文件→新建→项目→win32控制台程序

填写项目名称gfdll→确定→下一步→DLL(附加选项→对空项目打√)→完成。

2、在工程中将几个h文件添加进去。然后新建一个gfdll.cpp作为总的实现文件。

cpp文件中的内容:

#include "A.h"

#include "B.h"

using namespace std;

using namespace cv;

下面是具体函数的实现。

3、生成,Build→Build gfdll. 这是会发现工程生成了两个文件:gfdll.lib和gfdll.dll.

下面是测试封装效果。

1、新建测试工程

2、将头文件copy到该测试工程目录下,都放到一个自建的include文件夹中为好。mydll.dll和mydll.lib也拷贝过来

3、项目→属性→VC++目录→包含目录→添加include路径

库目录→添加gfdll.lib所在路径

链接器→输入→附加依赖项→添加gfdll.lib

完成以上配置之后,即可使用封装起来的函数里面的所有函数了。


http://www.niftyadmin.cn/n/284511.html

相关文章

@RestControllerAdvice注解

目录 1. RestControllerAdvice注解 详解: 1.1 概述 1.2 用途: 1.3 基本使用: 1.4 属性: annotations: basePackages: basePackageClasses: assignableTypes: 1.5 与ExceptionHandler的结合: 1.6 总结 2. R…

给孩子描述非对称加密算法

在荒岛上睡觉时做了一个梦,女儿问我什么是 RSA(一种非对称算法),我解释了一半就醒了,但觉得有意思,回来记录一下。 药方子配方是私密的,但药的效果是公开的,这是一种天然的非对称算法,人们已经…

TryHackMe-AD证书模板

AD Certificate Templates SpecterOps 完成并作为白皮书发布的研究表明,可以利用配置错误的证书模板进行权限提升和横向移动。根据错误配置的严重性,它可能允许 AD 域上的任何低特权用户只需单击几下即可将其权限提升为企业域管理员的权限! …

第17章 信息系统安全管理

文章目录 信息安全属性及目标(1)保密性(Confidentiality)(2)完整性(Integrity)(3)可用性(Availability)(4)其他…

位置式pid和增量式pid

位置式PID控制器和增量式PID控制器的数学模型如下所示: 位置式PID控制器的数学模型: u ( t ) K p e ( t ) K i ∫ 0 t e ( τ ) d τ K d d e ( t ) d t u(t) K_p e(t) K_i \int_{0}^{t} e(\tau) d\tau K_d \frac{de(t)}{dt} u(t)Kp​e(t)Ki​∫…

C6678学习-IPC

文章目录 1、简介2、模块MultiProc静态设置(cfg设置)动态设置 IPCNotifyMessageQShareRegion 1、简介 IPC: Inter-Processor Communication 处理器间通信,指提供多处理器环境中的处理器之间的通信、相同处理器不同线程间的通信。包括数据传递…

MySQL的概念、编译安装

一.数据库的基本概念 1、数据(Data) • 描述事物的符号记录 • 包括数字,文字,图形,图像,声音,档案记录等 • 以“记录”形式按统一的格式进行存储 2、表 • 将不同的记录组织在一起 • …

jdk中juc多线程编程工具

jdk线程池实现原理分析 目录 CompletionService CompletableFuture 基本原理 CompletableFuture的接口 静态方法 handle() vs whenComplete() xxxEither() 异常处理exceptionally() 获取任务结果 结束任务 Semaphore CyclicBarrier CountDownLatch jdk线程池实…