LabVIEW中簇和C语言中的结构体

 时间:2024-10-14 06:06:53

本文将讲解Labview如果调用由C语言生成的动态连接库dll中的结构体数据类型。

工具/原料

Labview

C

c生成dll

1、定义结构体:typedef struct {double DBL;long I32;char Boolean;} TD1;

2、定义生成dll的接口函数:_declspec(dlle垓矗梅吒xport) void CLUSTERSimple(TD1 *input, TD1 *output);

3、实现函数功能(本函数的输入结构体按顺序包含一个DBL型数据、一稍僚敉视个I32型数据和一个布尔型数据。计算DBL型数据的平方值、取I32型数据值的一半,并将布尔值取反):_declspec(颊俄岿髭dllexport) void CLUSTERSimple(TD1 *input, TD1 *output){ output->DBL = input->DBL * input->DBL; output->I32 = input->I32 / 2; if(input->Boolean) { output->Boolean = FALSE; } else { output->Boolean = TRUE; }}

LabVIEW调用dll

1、新建VI,在程序框图放置调用库函数节点(位于:函数选板-函数-互连接口-库与可执行程序-调用库函数节点);

LabVIEW中簇和C语言中的结构体

2、函数:1)选择以及生成dll的文件;2)选择函数名称;3)选择运行方式;4)选择调用规范。

LabVIEW中簇和C语言中的结构体

3、参数:1)设置返回值名称和类型;2)设置输入传递参数名称、数据类型和数倌栗受绽据格式;3)设置输出传递参数名称、数据类型和数据格式;

LabVIEW中簇和C语言中的结构体
LabVIEW中簇和C语言中的结构体
LabVIEW中簇和C语言中的结构体

4、回调和错误检查保持默认:

LabVIEW中簇和C语言中的结构体
LabVIEW中簇和C语言中的结构体

5、LabVIEW实现调用dll的前面板和程序框图如下所示:

LabVIEW中簇和C语言中的结构体
LabVIEW中簇和C语言中的结构体

6、请保持簇里面的控件顺序和C语言结构体中的变量顺序一致。

LabVIEW中簇和C语言中的结构体
  • VS与matlab混合编程
  • linux系统怎么打开和查询文件
  • Arduino上的代码如何打印比较合适?
  • 使用VS开发Python:输出语句和简单的运算符
  • 如何使用SQL Manager修改数据库表字段自增设置
  • 热门搜索
    课外阅读手抄报 小学数学手抄报 关于禁毒的手抄报 关于重阳节的手抄报 手抄报中秋节 六一儿童节手抄报内容 法制手抄报图片 中国梦的手抄报 2035年的祖国手抄报 劳动手抄报简单漂亮