电子说
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
审核编辑 :李倩
全部0条评论
快来发表一下你的评论吧 !