LabVIEW:2015
群里小伙伴在項目中用到的一硬件需要調(diào)用C/C++編寫的Dll,其中一個函數(shù)用到了字符串數(shù)組參數(shù),他折騰了許久不知道在LabVIEW中調(diào)用時如何處理這個類型,如下圖所示:
一頓輸出之后問題得到解決。
有關C/C++中稍微復雜一點與字符串相關的一些類型參數(shù),在LabVIEW處理起來還是有一點小麻煩的,主要是涉及到內(nèi)存分配,在使用LabVIEW時幾乎不用考慮這個問題,但在C語言中可不行,同時LabVIEW中調(diào)用的庫函數(shù)節(jié)點支持的參數(shù)類型并沒有字符串數(shù)組,那么如何解決這個問題呢?
如果你很熟悉C語言,那么字符串數(shù)組其實就是一個指針數(shù)組,指針指向的是一個字符串,說到這里你應該明白了在LabVIEW里面去如何處理它了,可以使用一個數(shù)值數(shù)組,不過這個數(shù)值代表的是內(nèi)存地址(即指針),然后再去解析地址即可。接下來動手驗證。
先用C/C++編寫一個帶字符串數(shù)組參數(shù)的函數(shù),然后編譯成Dll供調(diào)用,如下圖所示:
接著用C語言去調(diào)用該Dll,測試結果符合預期,如下圖所示:
接下來在LabVIEW中進行調(diào)用測試,其中需要用到有關內(nèi)存分配和指針解析的VI,在LabVIEW的安裝目錄下(LabVIEW 20xxvi.libUtilityimportsl),如下圖所示:
程序框圖實現(xiàn)如下圖所示,運行結果符合預期。
其中調(diào)用庫函數(shù)節(jié)點配置如下圖所示:
下載鏈接:https://pan.baidu.com/s/1-cNLXTelzTqv-aU5I-swLg
提取碼:r605
審核編輯 :李倩
-
LabVIEW
+關注
關注
1971文章
3654瀏覽量
323694 -
C語言
+關注
關注
180文章
7604瀏覽量
136863 -
數(shù)組
+關注
關注
1文章
417瀏覽量
25949
原文標題:如何處理C Dll中的字符串數(shù)組參數(shù)
文章出處:【微信號:LabVIEW QT 修煉之路,微信公眾號:LabVIEW QT 修煉之路】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論