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