LabVIEW:2015
群里小伙伴在项目中用到的一硬件需要调用C/C++编写的Dll,其中一个函数用到了字符串数组参数,他折腾了许久不知道在LabVIEW中调用时如何处理这个类型,如下图所示:

一顿输出之后问题得到解决。

有关C/C++中稍微复杂一点与字符串相关的一些类型参数,在LabVIEW处理起来还是有一点小麻烦的,主要是涉及到内存分配,在使用LabVIEW时几乎不用考虑这个问题,但在C语言中可不行,同时LabVIEW中调用的库函数节点支持的参数类型并没有字符串数组,那么如何解决这个问题呢?
如果你很熟悉C语言,那么字符串数组其实就是一个指针数组,指针指向的是一个字符串,说到这里你应该明白了在LabVIEW里面去如何处理它了,可以使用一个数值数组,不过这个数值代表的是内存地址(即指针),然后再去解析地址即可。接下来动手验证。
先用C/C++编写一个带字符串数组参数的函数,然后编译成Dll供调用,如下图所示:


接着用C语言去调用该Dll,测试结果符合预期,如下图所示:

接下来在LabVIEW中进行调用测试,其中需要用到有关内存分配和指针解析的VI,在LabVIEW的安装目录下(LabVIEW 20xxvi.libUtilityimportsl),如下图所示:

程序框图实现如下图所示,运行结果符合预期。

其中调用库函数节点配置如下图所示:


下载链接:https://pan.baidu.com/s/1-cNLXTelzTqv-aU5I-swLg
提取码:r605
审核编辑 :李倩
-
LabVIEW
+关注
关注
2014文章
3681浏览量
344520 -
C语言
+关注
关注
183文章
7642浏览量
144696 -
数组
+关注
关注
1文章
420浏览量
27126
原文标题:如何处理C Dll中的字符串数组参数
文章出处:【微信号:LabVIEW QT 修炼之路,微信公众号:LabVIEW QT 修炼之路】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
matlab中如何调用C标准的dll中的字符串数组
数组、向量和字符串 实验
C语言的字符串处理函数

如何处理C Dll中的字符串数组参数
评论