【超详细】Visual Studio 创建DLL 、LIB及调用

Visual Studio 创建DLL 、LIB及调用_visual studio 生成dll-CSDN博客

对上述文章内缺失的步骤进行了补充

按照本文操作即可完成。

step1:新建控制台应用

Step2:新建类

在DLL.h内写入:

#pragma once
class __declspec(dllexport) DLL
{

public:
	int myAdd(int a, int b);
	int myMax(int a, int b);

};

在DLL.cpp内写入:

#include "DLL.h"

int DLL::myAdd(int a, int b)
{
	return a + b;
}

int DLL::myMax(int a, int b)
{
	return a > b ? a : b;
}

step3:设置调试属性

 step4:生成解决方案

​在文件资源管理器中打开文件夹,返回上一级目录

复制dll 和lib文件,新建一个文件夹命名为Include,将上述两个文件放入该文件夹,而后在“文件资源管理器中打开文件夹”内找到DLL.h文件,同样放入Include文件夹内

​step5:再次“在文件资源管理器中打开文件夹”

​复制上述Debug文件夹到任意位置,将文件夹名称改为LIB

step6:新建一个控制台应用

 请注意为Debug X64

 

属性页也要是Debug  X64

注意:附加依赖项给绝对地址或者相对地址都可以,图片内是绝对地址。

生成解决方案----运行

若运行过程中报错:

则将DLL-Create-Test.dll复制到“在文件资源管理器中打开文件夹”目录下

 成功!

### 创建 DLL 文件 为了在 Visual Studio创建一个可以由 LabVIEW 调用的动态链接库 (DLL),需要遵循特定的过程。这涉及编写源代码并配置项目设置以确保生成适合外部应用程序使用的二进制文件。 #### 定义导出函数 当定义将在其他程序中使用的功能时,应该使用 `extern "C"` 和 `_declspec(dllexport)` 来声明这些方法以便于跨语言兼容性和正确解析名称[^2]: ```cpp #ifdef ADDDLL_EXPORTS #define ADDDLL_API __declspec(dllexport) #else #define ADDDLL_API __declspec(dllimport) #endif extern "C" { ADDDLL_API int add(int a, int b); } ``` 这段代码片段展示了如何标记打算公开给客户端应用的方法作为可访问接口的一部分。 #### 编写实现逻辑 接着,在 `.cpp` 文件里提供上述声明过的函数的具体实现在 C++ 源文件内完成实际运算操作: ```cpp #include "adddll.h" ADDDLL_API int add(int a, int b){ return a + b; } ``` 这里实现了简单的加法计算,并通过宏控制符决定是否将其导出为公共 API 接口之一。 ### 将 DLL 库集成到 LabVIEW 环境下 一旦成功构建了所需的 .dll 及其对应的 .h/.lib 文件之后,则可以在 LabVIEW 内部利用 Call Library Function Node 实现对该共享对象内部成员函数的支持调用。 #### 添加依赖项至工程资源管理器视图 为了让 LabVIEW 认识新引入的功能模块,需先将相关联的头文件(.h)以及静态链接库(.lib)加入当前工作区内的引用列表之中;具体做法是在 VC++ 目录下的包含目录和库目录分别指定相应位置[^3]: - **包含目录**: 描述了预处理器查找自定义类型定义的地方; - **库目录**: 则指明链接阶段寻找目标机器码的位置。 #### 构造 VI 进行交互测试 最后一步就是设计虚拟仪器(VI), 使用 Call Library Function Node 组件连接之前准备好的动态链接库中的入口点来进行参数传递与返回值获取等动作验证整个流程的有效性。
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值