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
+關注
關注
1976文章
3657瀏覽量
325005 -
C語言
+關注
關注
180文章
7614瀏覽量
137436 -
數組
+關注
關注
1文章
417瀏覽量
26003
原文標題:如何處理C Dll中的字符串數組參數
文章出處:【微信號:LabVIEW QT 修煉之路,微信公眾號:LabVIEW QT 修煉之路】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論