labview編程是一種程序開發(fā)環(huán)境,類似于c和basic開發(fā)環(huán)境,但是labview與其他計算機語言的顯著區(qū)別是:其他計算機語言都是采用基于文本的語言產(chǎn)生代碼,而labview使用的是圖形化編輯語言g編寫程序,產(chǎn)生的程序是框圖的形式。labview軟件是ni設計平臺的核心,也是開發(fā)測量或控制系統(tǒng)的理想選擇。labview開發(fā)環(huán)境集成了工程師和科學家快速構建各種應用所需的所有工具,旨在幫助工程師和科學家解決問題、提高生產(chǎn)力和不斷創(chuàng)新。
為什么labview編程優(yōu)于c語言?”作為labview開發(fā),我被很多次問到這個問題。
老實說,這么提問實際上是錯誤的。必須要有具體的應用環(huán)境,這么提問才有意義若沒有這些細節(jié),這個問題就像為什么面包比面粉好一般無意義。
如果您想創(chuàng)建一個測控系統(tǒng),不同于c語言等低級語言,使用labview開發(fā)系統(tǒng)設計軟件能夠幫助您降低風險、節(jié)省開支并免除不必要的麻煩。在這里我并非暗示labview是比c語言“更好”的編程語言——特別是考慮到labview大部分內(nèi)容不僅僅由g語言編寫,還由c和c++語言組成。恰恰相反,這兩種語言各自具有不同的優(yōu)勢,程序員應合理擇取才能達到自己的目的。
為什么要把labview編程開發(fā)比作面包?
labview編程開發(fā)和c語言相比起來就好比面包和面粉的關系。 如果您想做一個三明治,就必須先選用面包。 如果您想做一個蛋糕,先用的自然是面粉。如果用面粉從頭烘烤面包,即昂貴又費時(尤其是當你只想吃些小點心時),但若做的是蛋糕,面粉就*了。 同樣的,你會發(fā)現(xiàn),要選擇的編程語言并非易事,它歸結為使用正確的工具來完成適合的工作。
c語言提供了低級別的控制
當應用資源有限,必須嚴格管理時,c語言的使用效果更好。由于c語言是相對低級別的語言,因此,即便是zui細微的細節(jié),如內(nèi)存分配和線程,都必須考慮周全。的程序員能夠使用低級別的控制,省去大部分別應用帶來的間接開銷。此外,還能充分利用目標體系構架或主機操作系統(tǒng)屬性,實現(xiàn)更高的性能。
正是由于上述原因,ni程序員使用c或c++編寫了labview庫中的大部分內(nèi)容。labview開發(fā)與c語言在文件i/o和分析等操作的運行速度上旗鼓相當,因為這些操作都是基于低級語言編寫的,并對labview支持的不同平臺和操作系統(tǒng)進行了優(yōu)化。
效率vs控制
有時,若開發(fā)人員的效率足夠高的話,就無需手動優(yōu)化代碼了。減少一點控制,借鑒類似問題的解決方案,可*地促進項目的高質量開發(fā)。 編程語言不斷朝更抽象方向發(fā)展,讓您更專注于手頭的問題,而不是被計算細節(jié)所困擾。
labview編程開發(fā): 并行執(zhí)行和真實i/o
無論使用何種語言,系統(tǒng)設計與低級執(zhí)行都是獨立的。
在測控應用中,編程只是系統(tǒng)設計者的任務之一。工程師很少有時間為了計算和測量硬件,或是操作系統(tǒng)上的改進,去更新或重寫舊版本軟件。 他們通過獲取、處理和呈現(xiàn)真實數(shù)據(jù)進行改進——而不是去挖掘新方法處理內(nèi)存分配和線程池。使用labview,您可以使用經(jīng)測試、支持、維護的ni底層代碼庫來創(chuàng)建應用。而選擇c語言意味著您需要實現(xiàn)、支持和維護自己的底層庫,或從供應商處購買。
從語法角度來說,c語言指令連續(xù)執(zhí)行的能力非常強,cpu能以zui快的速度處理它們。對于純粹的數(shù)據(jù)計算,在執(zhí)行單一任務且指令相對基本的情況下,c語言非常適用。而labview開發(fā)采用的是圖形化語法,更適用于有真實時間約束的并行執(zhí)行任務。