LabWindows CVI 2015已經(jīng)推出,這是一個久經(jīng)考驗的ANSI C集成式開發(fā)環(huán)境和工程開發(fā)工具箱,內(nèi)置有用于測量、分析和工程UI設(shè)計的豐富資源庫,可幫助您大幅縮短開發(fā)時間,實現(xiàn)可靠、高性能的應(yīng)用。LabWindows CVI 2015新開發(fā)的LabWindows/CVI優(yōu)化編譯器,包含了Clang 3.3,Clang是LLVM編譯器基礎(chǔ)架構(gòu)的C語言編譯器前端,首次引入LLVM,這是一種業(yè)界標(biāo)準(zhǔn)的編譯器基礎(chǔ)架構(gòu),為編程人員提供了經(jīng)優(yōu)化且開箱即用的代碼,可通過增加錯誤和警告消息來高亮顯示薄弱環(huán)節(jié),幫助開發(fā)人員確保代碼的可靠性。
LabWindows CVI 2015專為高穩(wěn)定性而開發(fā),包含了超過50個漏洞修復(fù)和改進(jìn),提供了一個強(qiáng)大的開發(fā)平臺構(gòu)建測試和測量關(guān)鍵應(yīng)用,程序員可以利用如OpenMP和網(wǎng)絡(luò)流引入等新功能來完成工作,提高應(yīng)用程序性能,而無需重寫顯著其代碼的新功能。通過提供最新的編譯器和并行編程技術(shù),LabWindows CVI 2015可讓開發(fā)人員專注于程序邏輯和I/O。
軟件特色
1、改進(jìn)的代碼性能
2、借助新的業(yè)界標(biāo)準(zhǔn)的優(yōu)化編譯器,提高60%的代碼生成速率
3、使用可移植且可擴(kuò)展的OpenMP API,輕松復(fù)用現(xiàn)有代碼
4、通過無損網(wǎng)絡(luò)流API,實現(xiàn)網(wǎng)絡(luò)應(yīng)用程序之間的高效數(shù)據(jù)傳輸
5、使用新的高級TDMS功能來實現(xiàn)高性能數(shù)據(jù)流盤
6、更高生產(chǎn)力
7、編輯代碼的同時編譯源文件
8、在多核系統(tǒng)中并行創(chuàng)建多個文件,提高整體構(gòu)建速度
9、正在調(diào)試的進(jìn)程中可以連接或分離調(diào)試器
10、通過函數(shù)下拉列表和改進(jìn)的瀏覽功能,輕松導(dǎo)航源文件
11、通過批量格式設(shè)置和自動縮進(jìn),創(chuàng)建更簡潔美觀的代碼
新功能
一、提高代碼性能
1、執(zhí)行優(yōu)化編譯器
在LabWindows/CVI 2015中,編譯器使用了具有Clang C前端的LLVM編譯器基礎(chǔ)架構(gòu)。 這個編譯器可生成經(jīng)優(yōu)化的代碼,這意味著您不再需要使用外部優(yōu)化編譯器來優(yōu)化代碼。
Clang被選作為LabWindows/CVI編譯器的基礎(chǔ)是因為它可以提供非常快速的編譯、極其有用的錯誤和警告消息以及比早期LabWindows/CVI編譯器高60%的執(zhí)行速度。 執(zhí)行復(fù)雜計算、數(shù)學(xué)或分析的開發(fā)人員將可看到最高的性能提升,因為編譯器后端特別適合用于優(yōu)化數(shù)學(xué)計算所需的資源。
LLVM和Clang最開始是伊利諾伊大學(xué)的一個研究項目,目的是提供一個基于SSA的現(xiàn)代化編譯策略,能夠同時支持任意編程語言的靜態(tài)和動態(tài)編譯。 從那時起,LLVM逐漸發(fā)展,衍生了大量子項目,其中有許多被蘋果、英特爾、AutoESL、NVIDIA及NI等各種商業(yè)軟件供應(yīng)商應(yīng)用于生產(chǎn)之中。
開發(fā)人員還可以根據(jù)自定義的警告級別類型列表顯示或隱藏警告級別,從而更輕松地找到感興趣的警告、專注于錯誤和更高效地進(jìn)行調(diào)試。 如果要訪問“編譯器警告”對話框,則右擊“構(gòu)建輸出”窗口,然后選擇配置警告。
2、基于OpenMP的靈活多線程執(zhí)行
可移植且可擴(kuò)展的OpenMP API可幫助開發(fā)人員無需大量編輯即可輕松并行執(zhí)行現(xiàn)有代碼。 OpenMP(開放式多處理)是一套編譯器指令及相關(guān)子句、應(yīng)用程序編程接口(API)和環(huán)境變量的集合,可幫助您輕松地創(chuàng)建多個線程上執(zhí)行的應(yīng)用程序。 OpenMP模型可允許您完成以下任務(wù):
定義代碼的并行區(qū)域和創(chuàng)建執(zhí)行并行區(qū)域的線程組。
規(guī)定同一組中不同線程之間的任務(wù)共享方式(循環(huán)迭代)。
規(guī)定線程間可共享的數(shù)據(jù)以及每個線程專用的數(shù)據(jù)。
同步線程、防止并發(fā)訪問共享數(shù)據(jù),并定義由單個線程專門執(zhí)行區(qū)域。
OpenMP的特殊用途
OpenMP適用于由密集循環(huán)組成的程序,其中循環(huán)迭代之間是彼此獨(dú)立的,這樣迭代的子集可以在多個處理內(nèi)核上并行運(yùn)行。 同時它也適用于多個區(qū)域之間可以相互獨(dú)立地運(yùn)行但必須在某個時刻同步的程序。 因此OpenMP也是實現(xiàn)fork/join并行設(shè)計模式的一種有效方法。
雖然我們可以使用LabWindows/CVI工具庫來創(chuàng)建多線程應(yīng)用程序,但是OpenMP模型也提供了許多好處。 如下圖所示,通過插入單行編譯指示,我們有可能以最小的改動逐步實現(xiàn)OpenMP模型。 這也使開發(fā)人員能夠保留原始源代碼中的序列順序,而且在添加OpenMP指令之后只需少量的重新測試,這是因為程序、數(shù)據(jù)結(jié)構(gòu)和算法都沒有發(fā)生變化。 我們也可以通過禁用“構(gòu)建選項”對話框中的OpenMP支持來輕松編譯和測試程序的序列版本。
OpenMP的結(jié)構(gòu)化方法有助于最大限度地減少多線程編程常見的可能編程錯誤,因為它不要求使用底層多線程結(jié)構(gòu)和對象。 所有底層實現(xiàn)均是由OpenMP進(jìn)行處理,這樣開發(fā)人員便能夠?qū)W⒂趹?yīng)用程序邏輯和I/O。
此外,這也簡化了將代碼移植到其它編譯器和操作系統(tǒng),因為不支持OpenMP結(jié)構(gòu)的編譯器將會忽略O(shè)penMP編譯指令。 我們甚至可以在不修改源代碼的情況下使用用于調(diào)整循環(huán)調(diào)度的環(huán)境變量來調(diào)整運(yùn)行時的性能。 注意: LabWindows/CVI 2015符合OpenMP 2.5規(guī)范。
3、無損的網(wǎng)絡(luò)數(shù)據(jù)流
網(wǎng)絡(luò)流API為分布式LabWindows/CVI或LabVIEW應(yīng)用提供了無損的單向點(diǎn)對點(diǎn)通信通道。 利用網(wǎng)絡(luò)流,您可以輕松地在網(wǎng)絡(luò)上或在同一臺計算機(jī)上共享數(shù)據(jù)。
網(wǎng)絡(luò)流是一種易于配置、緊密集成的動態(tài)通信方法,適用于應(yīng)用程序之間的數(shù)據(jù)傳輸,具有可與TCP相媲美的吞吐量和延遲特性。 網(wǎng)絡(luò)流也增強(qiáng)了連接管理,如果由于網(wǎng)絡(luò)故障或其他系統(tǒng)故障導(dǎo)致連接中斷,網(wǎng)絡(luò)流可自動恢復(fù)網(wǎng)絡(luò)連接。 網(wǎng)絡(luò)流利用緩存無損通信策略來確保寫入網(wǎng)絡(luò)流的數(shù)據(jù)即使在網(wǎng)絡(luò)連接不順暢的環(huán)境下也不會丟失。
網(wǎng)絡(luò)流的具體應(yīng)用
網(wǎng)絡(luò)流經(jīng)設(shè)計和優(yōu)化可實現(xiàn)無損、高吞吐量的數(shù)據(jù)通信。 網(wǎng)絡(luò)流采用單向點(diǎn)至點(diǎn)的緩存通信模型來實現(xiàn)應(yīng)用程序之間的數(shù)據(jù)傳送。 這意味著其中一個終端是數(shù)據(jù)的創(chuàng)建者,另一個終端是讀者。 您可以使用兩個網(wǎng)絡(luò)流來實現(xiàn)雙向通信,其中每一臺計算機(jī)的創(chuàng)建者和讀者與對應(yīng)計算機(jī)的創(chuàng)建者和讀者相匹配。
由于網(wǎng)絡(luò)流具有與原始TCP相匹配的吞吐量性能,因此對于高吞吐量應(yīng)用,如果編程人員希望避免TCP的高復(fù)雜性,那么網(wǎng)絡(luò)流就是理想的選擇。 網(wǎng)絡(luò)流也可以用于無損的低吞吐量通信,例如發(fā)送和接收命令。 但是,將網(wǎng)絡(luò)流應(yīng)用于低吞吐量通信時,如果需要獲得最低的延遲,可能需要更明確地管理數(shù)據(jù)通過網(wǎng)絡(luò)流發(fā)送的時間。
4、高性能數(shù)據(jù)流盤
NI技術(shù)數(shù)據(jù)管理流(TDMS)文件格式是將測量數(shù)據(jù)保存到磁盤上的最快速、最靈活方式。 開發(fā)人員長期以來一直使用LabWindows/CVI TDMS API,在數(shù)據(jù)流盤時將定時信息和自定義屬性關(guān)聯(lián)到測量數(shù)據(jù)上。 將數(shù)據(jù)存儲為TDMS文件省去了設(shè)計和維護(hù)自定義數(shù)據(jù)文件格式的需要,同時獲得了記錄詳細(xì)、易于查詢且可移植到任意平臺的數(shù)據(jù)集。
二、提高效率
1、強(qiáng)大的構(gòu)建系統(tǒng)
LabWindows/CVI構(gòu)建功能可減少花在等待構(gòu)建完成的時間,使開發(fā)人員能夠繼續(xù)進(jìn)行代碼編輯,同時在后臺構(gòu)建項目。 構(gòu)建系統(tǒng)專門針對提高構(gòu)建速度和需要并行構(gòu)建多個獨(dú)立源文件的項目進(jìn)行優(yōu)化,以便用戶充分利用多核處理器的優(yōu)勢。
2、強(qiáng)大的源代碼瀏覽
LabWindows/CVI中提供了豐富的編程體驗,為用戶提供了直觀控件、導(dǎo)航和源文件信息。 程序員可以使用源代碼窗口中工具欄的下拉列表來查看和定位到源文件的函數(shù)。
此外,開發(fā)人員可以在編輯文件的同時生成源代碼瀏覽信息,這樣開發(fā)人員可以在編程的同時實時瀏覽代碼,而不需要先編譯。 該選項是LabWindows/CVI環(huán)境的一個全局功能,源代碼瀏覽信息包含于發(fā)布和調(diào)試配置中。
3、批量格式和自動代碼縮進(jìn)
為了幫助開發(fā)人員創(chuàng)建更簡潔、易讀的代碼,LabWindows/CVI提供了定制批量格式和自動縮進(jìn)工具。 選擇選項編輯器首選項,然后單擊格式選項按鈕來指定括號風(fēng)格和縮進(jìn)選項。 為了保持一致性,開發(fā)人員可以選擇普通縮進(jìn)和括號風(fēng)格,并使用預(yù)覽窗口來預(yù)覽自定義選擇的格式樣例。 如果指定自動縮進(jìn)的代碼行,可選擇源窗口中的文本行,然后選擇編輯格式選擇。 如果是自動縮進(jìn)整個文件,則選擇編輯格式文件。
4、發(fā)布的軟件依賴關(guān)系支持
在創(chuàng)建發(fā)布時,開發(fā)人員可以選中或忽略任何包含軟件依賴關(guān)系的NI安裝程序組件的軟件依賴關(guān)系。產(chǎn)品的軟件依賴關(guān)系是指產(chǎn)品可能需要或不需要的組件,根據(jù)應(yīng)用程序的特定需求而異。通過“編輯安裝程序”對話框的驅(qū)動和組件選項卡可選擇軟件依賴關(guān)系。
軟件優(yōu)勢
1、交互式程序開發(fā)
將源代碼編程、32位ANSI C編譯、鏈接、調(diào)試以及標(biāo)準(zhǔn)ANSI C庫等集成在一個交互式開發(fā)平臺中,采用簡單直觀圖形用戶界面設(shè)計,利用函數(shù)面板輸入函數(shù)的參數(shù),采用事件驅(qū)動和回調(diào)函數(shù)方式的編程技術(shù),有效地提高了工程設(shè)計的效率和可靠性。
2、功能強(qiáng)大的函數(shù)庫
如接口函數(shù)庫、信號處理函數(shù)庫、Windows SDK等,利用這些庫函數(shù)可以方便地實現(xiàn)復(fù)雜的數(shù)據(jù)采集和儀器控制系統(tǒng)的開發(fā)。同時LabWindows/CVI附加了各種功能的軟件開發(fā)包,如數(shù)據(jù)庫軟件包、Internet軟件包、小波分析軟件包等,大大增強(qiáng)了LabWindows/CVI的性能。
3、靈活的程序調(diào)試手段
提供了單步執(zhí)行、斷點(diǎn)執(zhí)行、過程跟蹤、參數(shù)檢查、運(yùn)行時內(nèi)存檢查等多種調(diào)試程序。
4、高效編程環(huán)境
以其面向虛擬儀器的交互式開發(fā)環(huán)境滿足了用戶對軟件不斷變化的要求,在產(chǎn)品設(shè)計中,可以快速創(chuàng)建、配置并顯示測量。LabWindows/CVI可以自動生成代碼、編譯和鏈接,省去了手工編寫,更有利于系統(tǒng)的開發(fā)。
5、開放式的框架結(jié)構(gòu)
可以結(jié)婚使用標(biāo)準(zhǔn)的ANSI C源文件、obj文件、生動鏈接庫(DLL)。也可以將軟件中的儀器驅(qū)動庫與其他標(biāo)準(zhǔn)C編譯器結(jié)合使用,無需更改開發(fā)工具。同時,可以在不同的工作小組直接共享函數(shù)模塊和虛擬儀器程序。
6、集成式的開發(fā)環(huán)境
集成式的開發(fā)環(huán)境,可用于創(chuàng)建基于DAQ、GPIB、PXI、VXI、串口和以太網(wǎng)的虛擬儀器系統(tǒng)。這一開發(fā)方式結(jié)合了交互式、簡單易用的開發(fā)方式與ANSI C代碼的強(qiáng)大的編寫功能和靈活性。LabWindows/CVI中的交互式開發(fā)工具和函數(shù)庫可以方便地四下自動化測試系統(tǒng)]實驗室研發(fā)、數(shù)據(jù)采集監(jiān)視項目、驗證測試和控制系統(tǒng)的設(shè)計。
7、LabWindows/CVI的應(yīng)用范圍
只要應(yīng)用于各種測試、控制、故障分析及信息處理軟件的開發(fā)中,與NI公司開發(fā)的另一個虛擬儀器開發(fā)工具LabVIEW相比,其更適合中、大型復(fù)雜測試軟件的開發(fā)。基于LabWindows/CVI設(shè)計的虛擬儀器在無損檢測、電力儀表系統(tǒng)、溫控系統(tǒng)、凌晨控制系統(tǒng)、故障診斷和醫(yī)療等領(lǐng)域中發(fā)揮著重要作用。LabWindows/CVI已經(jīng)成為測控領(lǐng)域最受歡迎的開發(fā)平臺之一,并且已得到廣泛的應(yīng)用。
- 下載地址
發(fā)表評論
0條評論軟件排行榜
- 1python最新版本2024 v3.12.3官方版
- 2jdk17官方版 附安裝教程
- 3java se development kit 8(jdk1.8) 8u202官方版
- 4microsoft visual c++ 2019(vc2019運(yùn)行庫) x86/x64簡體中文版
- 5eclipse memory analyzer(eclipse mat插件) v1.15.0
- 6DevExpress Universal Subscription 24 v24.1.5完整版
- 7VBA for WPS v7.0
- 8virtual serial ports driver虛擬串口調(diào)試工具 v11.0.1047.0官方版
- 9微軟visual c++運(yùn)行庫合集包 v3.0.22.0317官方版
- 10x64dbg程序調(diào)試工具 v2024.11
熱門推薦
- dotCover 2024官方版 v2024.2.549.78M / 多國語言
- python最新版本2024 v3.12.3官方版25.2M / 簡體中文
- 微軟visual c++運(yùn)行庫合集包 v3.0.22.0317官方版85.82M / 簡體中文
- dwin dgus(開發(fā)配置工具) v5.04官方版6.87M / 簡體中文
- RegEx Tester(正則表達(dá)式調(diào)試工具) v3.2.0.0綠色版26K / 英文
- Report Builder v3.0官方版32.16M / 簡體中文
- Convert.NET(代碼翻譯器) v8.4.6675.71官方版4.48M / 多國語言[中文]
- msys2(類Linux開發(fā)環(huán)境) v2016.10.25官方版100.11M / 簡體中文
- node.js安裝包 v18.12.127.76M / 簡體中文
- APKSign(APK簽名工具) v1.0官方版292K / 簡體中文