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