您的位置:網(wǎng)站首頁(yè) > 電器維修資料網(wǎng) > 正文 >
LabVIEW好還是C語(yǔ)言好
來(lái)源: 日期:2013-11-2 20:37:15 人氣:標(biāo)簽:
如果您想創(chuàng)建一個(gè)測(cè)控系統(tǒng),不同于c語(yǔ)言等低級(jí)語(yǔ)言,使用ni labview系統(tǒng)設(shè)計(jì)軟件能夠幫助您降低風(fēng)險(xiǎn)、節(jié)省開(kāi)支并免除不必要的麻煩。在這里我并非暗示labview是比c語(yǔ)言“更好”的編程語(yǔ)言——特別是考慮到labview大部分內(nèi)容不僅僅由g語(yǔ)言編寫(xiě),還由c和c++語(yǔ)言組成。 恰恰相反,這兩種語(yǔ)言各自具有不同的優(yōu)勢(shì),程序員應(yīng)合理?yè)袢〔拍苓_(dá)到自己的目的。
為什么要把labview比作面包?
labview和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ǔ)言,因此,即便是 細(xì)微的細(xì)節(jié),如內(nèi)存分配和線(xiàn)程,都必須考慮周全。優(yōu)秀的程序員能夠使用低級(jí)別的控制,省去大部分高級(jí)別應(yīng)用帶來(lái)的間接開(kāi)銷(xiāo)。此外,還能充分利用目標(biāo)體系構(gòu)架或主機(jī)操作系統(tǒng)屬性,實(shí)現(xiàn)更高的性能。
正是由于上述原因,ni程序員使用c或c++編寫(xiě)了labview庫(kù)中的大部分內(nèi)容。labview與c語(yǔ)言在文件i/o和分析等操作的運(yùn)行速度上旗鼓相當(dāng),因?yàn)檫@些操作都是基于低級(jí)語(yǔ)言編寫(xiě)的,并對(duì)labview支持的不同平臺(tái)和操作系統(tǒng)進(jìn)行了優(yōu)化。
效率vs控制
有時(shí),若開(kāi)發(fā)人員的效率足夠高的話(huà),就無(wú)需手動(dòng)優(yōu)化代碼了。 減少一點(diǎn)控制,借鑒類(lèi)似問(wèn)題的解決方案,可極大地促進(jìn)項(xiàng)目的高質(zhì)量開(kāi)發(fā)。 編程語(yǔ)言不斷朝更高級(jí)抽象方向發(fā)展,讓您更專(zhuān)注于手頭的問(wèn)題,而不是被計(jì)算細(xì)節(jié)所困擾。
labview: 并行執(zhí)行和真實(shí)i/o
無(wú)論使用何種語(yǔ)言,高級(jí)系統(tǒng)設(shè)計(jì)與低級(jí)執(zhí)行都是獨(dú)立的。
在測(cè)控應(yīng)用中,編程只是系統(tǒng)設(shè)計(jì)者的任務(wù)之一。 工程師很少有時(shí)間為了計(jì)算和測(cè)量硬件,或是操作系統(tǒng)上的改進(jìn),去更新或重寫(xiě)舊版本軟件。 他們通過(guò)獲取、處理和呈現(xiàn)真實(shí)數(shù)據(jù)進(jìn)行改進(jìn)——而不是去挖掘新方法處理內(nèi)存分配和線(xiàn)程池。 使用labview,您可以使用經(jīng)測(cè)試、支持、維護(hù)的ni底層代碼庫(kù)來(lái)創(chuàng)建應(yīng)用。 而選擇c語(yǔ)言意味著您需要實(shí)現(xiàn)、支持和維護(hù)自己的底層庫(kù),或從供應(yīng)商處購(gòu)買(mǎi)(ni提供ni labwindows ™/cvi 軟件與ni measurement studio)
從語(yǔ)法角度來(lái)說(shuō), c語(yǔ)言指令連續(xù)執(zhí)行的能力非常強(qiáng),cpu能以 快的速度處理它們。 對(duì)于純粹的數(shù)據(jù)計(jì)算,在執(zhí)行單一任務(wù)且指令相對(duì)基本的情況下,c語(yǔ)言非常適用。 而labview采用的是圖形化語(yǔ)法,更適用于有真實(shí)時(shí)間約束的并行執(zhí)行任務(wù)。
使用labview,您可以跳過(guò)基礎(chǔ)構(gòu)建的步驟,直接進(jìn)行自定制。
labview不僅僅是一種編程語(yǔ)言及相關(guān)的代碼庫(kù)。 結(jié)合使用labview集成開(kāi)發(fā)環(huán)境(ide)與ni硬件,由此所帶來(lái)的開(kāi)發(fā)體驗(yàn)是各個(gè)部分的總和無(wú)法企及的。labview可以準(zhǔn)確識(shí)別可用的硬件資源,并以下拉菜單和項(xiàng)目名稱(chēng)顯示可用的i/o通道與執(zhí)行目標(biāo)。 在編輯過(guò)程中,您可以防止或察覺(jué)錯(cuò)誤的配置,以避免代價(jià)高昂、又難以調(diào)試的運(yùn)行時(shí)錯(cuò)誤。 新一代測(cè)量硬件(如ni pxie-5644r矢量信號(hào)收發(fā)器)甚至可以允許labview對(duì)其固件進(jìn)行重新定義,達(dá)到傳統(tǒng)、不同的編程語(yǔ)言和儀器無(wú)法實(shí)現(xiàn)的性能水平。
有很多項(xiàng)目都會(huì)延期或超預(yù)算完成,主要是因?yàn)楣こ處煹凸懒司奂匈Y源所需的開(kāi)銷(xiāo)。 若您使用labview,硬件驅(qū)動(dòng)程序會(huì)以與數(shù)據(jù)分析庫(kù)相同的格式返回?cái)?shù)據(jù),ui小部件則以相同的格式顯示技術(shù)數(shù)據(jù),無(wú)需再拼湊不同組件。
到底哪個(gè)更好: labview還是c語(yǔ)言?
這個(gè)問(wèn)題的 佳答案是:“一切皆有可能。” 正如《銀河系漫游指南》中所說(shuō)的, 除非您明確自己的問(wèn)題或了解正試圖解決的問(wèn)題,否則得到的答案也是無(wú)意義的。 對(duì)于熟練的用戶(hù)來(lái)說(shuō),labview和c都是非常有用的工具,幾乎可以解決任何問(wèn)題: labview適用于高級(jí)測(cè)試、測(cè)量和控制應(yīng)用,而c更容易實(shí)現(xiàn)低級(jí)計(jì)算密集型任務(wù)。
若再有人問(wèn)起labview好還是c語(yǔ)言好,您就回答一切皆有可能。 這也許是將問(wèn)題朝著正確的方向引導(dǎo)的唯一途徑了。
【看看這篇文章在百度的收錄情況】