新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > LabView嵌入式開發模塊五大技術要點

        LabView嵌入式開發模塊五大技術要點

        作者: 時間:2012-07-11 來源:網絡 收藏

        無論使用什么設計語言,不良的編程都會給一個應用的性能帶來負面影響,對一個應用尤其如此。盡管對于絕大部分應用來說,高效率的編程是重要的,但對于應用所工作的資源極度缺乏的環境,則要求對性能和存儲器管理給予特別的關注。

        本文引用地址:http://www.104case.com/article/148789.htm

          本文的討論將圍繞著新的進行,這種新工具為嵌入式應用人員提供了圖形化系統設計手段。該工具允許用戶直觀地設計算法 并進行交互式調試。下面是一些有助于編程師更有效使用嵌入式應用的技巧。這些技巧中的許多也適用于其它高級工具。

          動態分配存儲器

          動態存儲器分配是一項編程師應盡可能避免的復雜操作。例如,如果動態分配出現在將數據存儲到數組內的一個循環內,那么它尤其有害。避免在一個循環內動態分配存儲器的常用方法是在該循環開始執行前,為每個數組預分配所需的存儲空間。

          移位寄存器與隧道技術

          的移位寄存器與隧道使數據進/出循環。工程師還利用移位寄存器在一個循環的每次執行之間傳遞數據。當數據用一個輸入隧道傳進一個循環 時,LabView必須拷貝該數據并將該拷貝數據送出來進行下線修改。為了確保原始數據對該循環的下次迭代執行時保持不變,這樣做是必需的。工程師也可以 通過用一個移位寄存器把數據傳進該循環的方法來避免拷貝。這樣就消除了不必要的拷貝,從而加快了運行速度。

          循環中的大常數技術

          如果在循環內部放置一個常數,會使循環的每次執行都拷貝這個數據,從而加大執行時間和存儲器使用率。工程師可以避免這個情況,做法是把該常數移出該循環,或者用本地變量把數據傳遞到循環中。

          數據類型強制轉換技術

          LabView開發環境只要有可能就自動地處理數據類型的沖突,其做法是把較小的數據類型轉換成較大的數據類型。例如,如果在一個整數和一個浮點數之 間發生一個類型沖突,那么LabView就把該整數轉換成一個浮點數,隨后再執行運算操作。這個轉換的代價是昂貴的,而且在許多情況下是不必要的。在大多 數情況下,工程師可以通過為每個變量選取正確的數據類型來避免強制轉換。但是,如果該數據必須被強制轉換,則應在將其送去進行操作運算或函數計算前就完成 轉換,這樣效率將會更高些。

          簇技術的應用

          當把異構數據捆綁到易管理的數據包中時,簇是有用的,比如說C語言結構(C Structs)。然而,此時除了要考慮的全部數據外,數據內容的相關信息也必須和這些數據一起傳遞。因此,有的時候,尤其是在把數據傳到subVI時, 相對于一個捆綁的簇而言,未捆綁的數據元素可以增加用戶應用的運行速度。

          盡管類似LabView這樣的高級編程語言有助于工程師更快地部署其應用,但注意可提高代碼性能的細節是很重要的。通過注意這些細節,有助于工程師快速開發一個高效率的應用。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 龙泉市| 科尔| 临泽县| 天等县| 华池县| 万宁市| 宁晋县| 新和县| 绥化市| 永胜县| 海林市| 江永县| 体育| 乌兰浩特市| 达拉特旗| 会同县| 苍溪县| 镇原县| 永登县| 绥阳县| 都匀市| 蒙山县| 萨嘎县| 黔江区| 莆田市| 保德县| 贡觉县| 华宁县| 湄潭县| 嘉善县| 谢通门县| 舞阳县| 额敏县| 桐城市| 航空| 济阳县| 涪陵区| 积石山| 黑龙江省| 阳东县| 阜康市|