在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

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

            LabVIEW 調(diào)用 C/C++ Dll 詳解

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

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


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

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉