技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > LabVIEW還是C語言?(能夠換個方式提問嗎?)

LabVIEW還是C語言?(能夠換個方式提問嗎?)

時間:2013-08-26 15:27:41來源:Simon Hogg

導(dǎo)語:?當(dāng)應(yīng)用資源有限,必須嚴(yán)格管理時,C語言的使用效果更好。 由于C語言是相對低級別的語言,因此,即便是最細(xì)微的細(xì)節(jié),如內(nèi)存分配和線程,都必須考慮周全

 “為什么LabVIEW優(yōu)于C語言?” 作為LabVIEW產(chǎn)品經(jīng)理,我被很多次問到這個問題。

老實說,這么提問實際上是錯誤的。必須要有具體的應(yīng)用環(huán)境,這么提問才有意義(例如,“在這些限制條件下,哪一種語言更適合這個任務(wù)?”) 若沒有這些細(xì)節(jié),這個問題就像為什么面包比面粉好一般無意義。

如果您想創(chuàng)建一個測控系統(tǒng),不同于C語言等低級語言,使用NI LabVIEW系統(tǒng)設(shè)計軟件能夠幫助您降低風(fēng)險、節(jié)省開支并免除不必要的麻煩。在這里我并非暗示LabVIEW是比C語言“更好”的編程語言——特別是考慮到LabVIEW大部分內(nèi)容不僅僅由G語言編寫,還由C和C++語言組成。 恰恰相反,這兩種語言各自具有不同的優(yōu)勢,程序員應(yīng)合理擇取才能達(dá)到自己的目的。

為什么要把LabVIEW比作面包? 請繼續(xù)閱讀

為什么要把LabVIEW比作面包? 請繼續(xù)閱讀

LabVIEW和C語言相比起來就好比面包和面粉的關(guān)系。 如果您想做一個三明治,就必須先選用面包。 如果您想做一個蛋糕,先用的自然是面粉。 如果用面粉從頭烘烤面包,即昂貴又費時(尤其是當(dāng)你只想吃些小點心時),但若做的是蛋糕,面粉就必不可少了。 同樣的,你會發(fā)現(xiàn),要選擇最適合的編程語言并非易事,它歸結(jié)為使用正確的工具來完成適合的工作。

C語言提供了低級別的控制

當(dāng)應(yīng)用資源有限,必須嚴(yán)格管理時,C語言的使用效果更好。 由于C語言是相對低級別的語言,因此,即便是最細(xì)微的細(xì)節(jié),如內(nèi)存分配和線程,都必須考慮周全。優(yōu)秀的程序員能夠使用低級別的控制,省去大部分高級別應(yīng)用帶來的間接開銷。此外,還能充分利用目標(biāo)體系構(gòu)架或主機操作系統(tǒng)屬性,實現(xiàn)更高的性能。

正是由于上述原因,NI程序員使用C或C++編寫了LabVIEW庫中的大部分內(nèi)容。LabVIEW與C語言在文件I/O和分析等操作的運行速度上旗鼓相當(dāng),因為這些操作都是基于低級語言編寫的,并對LabVIEW支持的不同平臺和操作系統(tǒng)進行了優(yōu)化。

效率Vs控制

有時,若開發(fā)人員的效率足夠高的話,就無需手動優(yōu)化代碼了。 減少一點控制,借鑒類似問題的解決方案,可極大地促進項目的高質(zhì)量開發(fā)。 編程語言不斷朝更高級抽象方向發(fā)展,讓您更專注于手頭的問題,而不是被計算細(xì)節(jié)所困擾。         

LabVIEW: 并行執(zhí)行和真實I/O

無論使用何種語言,高級系統(tǒng)設(shè)計與低級執(zhí)行都是獨立的。

在測控應(yīng)用中,編程只是系統(tǒng)設(shè)計者的任務(wù)之一。 工程師很少有時間為了計算和測量硬件,或是操作系統(tǒng)上的改進,去更新或重寫舊版本軟件。 他們通過獲取、處理和呈現(xiàn)真實數(shù)據(jù)進行改進——而不是去挖掘新方法處理內(nèi)存分配和線程池。 使用LabVIEW,您可以使用經(jīng)測試、支持、維護的NI底層代碼庫來創(chuàng)建應(yīng)用。 而選擇C語言意味著您需要實現(xiàn)、支持和維護自己的底層庫,或從供應(yīng)商處購買(NI提供NI LabWindows ™/CVI 軟件與NI Measurement Studio


從語法角度來說, C語言指令連續(xù)執(zhí)行的能力非常強,CPU能以最快的速度處理它們。 對于純粹的數(shù)據(jù)計算,在執(zhí)行單一任務(wù)且指令相對基本的情況下,C語言非常適用。 而LabVIEW采用的是圖形化語法,更適用于有真實時間約束的并行執(zhí)行任務(wù)。

使用LabVIEW,您可以跳過基礎(chǔ)構(gòu)建的步驟,直接進行自定制。

使用LabVIEW,您可以跳過基礎(chǔ)構(gòu)建的步驟,直接進行自定制。

LabVIEW不僅僅是一種編程語言及相關(guān)的代碼庫。 結(jié)合使用LabVIEW集成開發(fā)環(huán)境(IDE)與NI硬件,由此所帶來的開發(fā)體驗是各個部分的總和無法企及的。LabVIEW可以準(zhǔn)確識別可用的硬件資源,并以下拉菜單和項目名稱顯示可用的I/O通道與執(zhí)行目標(biāo)。 在編輯過程中,您可以防止或察覺錯誤的配置,以避免代價高昂、又難以調(diào)試的運行時錯誤。 新一代測量硬件(如NI PXIe-5644R矢量信號收發(fā)器)甚至可以允許LabVIEW對其固件進行重新定義,達(dá)到傳統(tǒng)、不同的編程語言和儀器無法實現(xiàn)的性能水平。

有很多項目都會延期或超預(yù)算完成,主要是因為工程師低估了聚集所有資源所需的開銷。 若您使用LabVIEW,硬件驅(qū)動程序會以與數(shù)據(jù)分析庫相同的格式返回數(shù)據(jù),UI小部件則以相同的格式顯示技術(shù)數(shù)據(jù),無需再拼湊不同組件。

到底哪個更好: LabVIEW還是C語言?   

這個問題的最佳答案是:“一切皆有可能。” 正如《銀河系漫游指南》中所說的, 除非您明確自己的問題或了解正試圖解決的問題,否則得到的答案也是無意義的。 對于熟練的用戶來說,LabVIEW和C都是非常有用的工具,幾乎可以解決任何問題: LabVIEW適用于高級測試、測量和控制應(yīng)用,而C更容易實現(xiàn)低級計算密集型任務(wù)。

若再有人問起LabVIEW好還是C語言好,您就回答一切皆有可能。 這也許是將問題朝著正確的方向引導(dǎo)的唯一途徑了。


進一步了解LabVIEW與NI集成開發(fā)環(huán)境,請訪問ni.com/labview/zhs
 

標(biāo)簽:

點贊

分享到:

上一篇:壓力傳感器在使用過程中注意事項

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.treenowplaneincome.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號