<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 測試測量 > 設計應用 > LabVIEW 調用 C/C++ Dll 詳解

LabVIEW 調用 C/C++ Dll 詳解

作者: 時(shí)間:2017-01-06 來(lái)源:網(wǎng)絡(luò ) 收藏
LabVIEW 在配上NI的采集卡或者別的第三方的硬件,約等于神器(雖然有時(shí)候貴了點(diǎn))。這樣你可以比較集中精力的專(zhuān)注于數據處理了,就不用學(xué)習麻煩的Win32的GUI編程, 也不用關(guān)注和你自己搞的采集板之間的通信了。
對于每一個(gè)測控行業(yè)的程序來(lái)說(shuō),基本上都是:
初始化-->數據采集-->數據處理-->數據顯示-->數據保存-->結束 的一個(gè)過(guò)程。
當然如果是實(shí)時(shí)的,那么采集,處理,顯示就是在一個(gè)loop里面。當然為了保證實(shí)時(shí)性,數據處理和數據采集不一定在一個(gè)線(xiàn)程里,因為處理的時(shí)候把采集給block住也挺傻的。
LabVIEW 很容易幫你搞定:
初始化-->數據采集-->數據處理-->數據顯示-->數據保存-->結束
但是數據處理部分,是和你的學(xué)科緊密相關(guān)的,有時(shí)候算法會(huì )“詭異”到你很難用VI來(lái)實(shí)現,那么你就要有C++" target="_blank">C++
code來(lái)搞了。 那么C/C++ 是如何與LabVIEW 交互的呢,本文來(lái)較詳細的闡述一下,因為準備采用總分總的寫(xiě)作手法...所以先來(lái)個(gè)概括...
1. 把C/C++ code 編譯成Dll。
2. 用LabVIEW的call library node來(lái)調用。
難點(diǎn)在于:如何把LabVIEW的數據類(lèi)型和C/C++ 的來(lái)對應。

控件x相當與一個(gè)double,當然其類(lèi)型也是可以選擇的(如右圖所示)。
boolean 按理說(shuō)應該是一個(gè)bool, 但是傳入call library node的時(shí)候,一般要轉成unsigned int型。
cluster其實(shí)就是個(gè)struct ,左圖的cluster是:
struct tCluster
{
double x11; // 類(lèi)型都可以向右圖那樣自己配置
double x2;
int x3;
};
對于string,這里要著(zhù)重講一下,labview的string類(lèi)型里面是包含長(cháng)度信息的,它不是一個(gè)簡(jiǎn)單的char *
它是個(gè)LStrHandle類(lèi)型:定義咋extcode.h 里面(可以在labview目錄下搜到)
typedef struct {
int32 cnt;
uChar str[1];
} LStr, *LStrPtr, **LStrHandle;
cnt就是含有多少個(gè)字符,str這個(gè)指針所指的就是數據區的第一個(gè)字符。
(還有很多沒(méi)寫(xiě)...明天繼續,排版也雜亂無(wú)章...等全部寫(xiě)好在整理吧)
其實(shí)應該列個(gè)提綱,大概是:
1.背景
2.call library node(CLN) 支持很多數據類(lèi)型
3.用戶(hù)內存區 和 LabVIEW內存區
4.
struct tArray
{
unsigned int cnt;
T data[1];
}; 是神馬? 一堆handle.
5.怎樣把字符串傳遞給CLN
6.怎樣把LabVIEW 的 1-D, 2-D, 3-D 數組傳遞給 DLL
7.把LabVIEW 的簇和簇數組傳遞給 DLL


關(guān)鍵詞: LabVIEWCC++Dl

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>