溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C、C++、Boost、Qt與嵌入式開(kāi)發(fā)分析

發(fā)布時(shí)間:2021-11-26 14:30:36 來(lái)源:億速云 閱讀:270 作者:iii 欄目:互聯(lián)網(wǎng)科技

這篇文章主要介紹“C、C++、Boost、Qt與嵌入式開(kāi)發(fā)分析”,在日常操作中,相信很多人在C、C++、Boost、Qt與嵌入式開(kāi)發(fā)分析問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”C、C++、Boost、Qt與嵌入式開(kāi)發(fā)分析”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧! 

C語(yǔ)言

C語(yǔ)言大家都比較熟悉了,是屬于底層編程語(yǔ)言了,計(jì)算機(jī)行業(yè)里有句話說(shuō)“C生萬(wàn)物”!不得不說(shuō),C語(yǔ)言的出現(xiàn),改變了計(jì)算機(jī)的編程語(yǔ)言世界。

在嵌入式系統(tǒng)開(kāi)發(fā)中,C語(yǔ)言可以用于各個(gè)部分的開(kāi)發(fā),uboot、內(nèi)核、驅(qū)動(dòng)、應(yīng)用。所以只要會(huì)c語(yǔ)言,就可以做嵌入式系統(tǒng)開(kāi)發(fā),不過(guò)對(duì)于應(yīng)用層的開(kāi)發(fā),還是C++好一些。

在這里也對(duì)C語(yǔ)言列舉幾個(gè)例子,展示下C語(yǔ)言的強(qiáng)大:

  • Unix操作系統(tǒng)、Linux操作系統(tǒng)都是C語(yǔ)言開(kāi)發(fā)的。

  • 大家比較熟悉的Java,Java現(xiàn)在使用是最廣泛的編程語(yǔ)言,Java真正的跨平臺(tái)編程語(yǔ)言,一次編譯,到處跑,其跨平臺(tái)的原因是JVM的存在,對(duì)就是Java虛擬機(jī),Java虛擬機(jī)是C開(kāi)發(fā)的!

  • 伴隨著人工智能AI、機(jī)器學(xué)習(xí)等火起來(lái)的Python,腳本語(yǔ)言,也是跨平臺(tái)的編程語(yǔ)言,現(xiàn)在使用也是很廣泛,有很豐富的各種庫(kù),其解釋器也是C語(yǔ)言開(kāi)發(fā)的!

  • Lua腳本語(yǔ)言,是一個(gè)速度非??斓哪_本語(yǔ)言,其解釋器也是c語(yǔ)言開(kāi)發(fā)的。

  • Shell腳本語(yǔ)言,其解釋器也是C語(yǔ)言開(kāi)發(fā)的,Linux下的命令,都是C語(yǔ)言編寫的。

C語(yǔ)言作為底層開(kāi)發(fā)語(yǔ)言,當(dāng)之無(wú)愧。 

C++

在嵌入式系統(tǒng)開(kāi)發(fā)中,大部分是使用C語(yǔ)言,在嵌入式Linux系統(tǒng)中,隨著處理器的處理能力的增強(qiáng),現(xiàn)在做業(yè)務(wù)應(yīng)用開(kāi)發(fā)時(shí)C++用的越來(lái)越多了。C++是面向?qū)ο蟮拈_(kāi)發(fā)語(yǔ)言,具有高級(jí)語(yǔ)言的特點(diǎn),使用起來(lái)語(yǔ)法也比C語(yǔ)言要好用些,雖然性能上可能會(huì)比C語(yǔ)言稍微低一些,但是開(kāi)發(fā)效率比C語(yǔ)言要高的多。用過(guò)C++之后,可能就不在想用C語(yǔ)言了~
在使用C語(yǔ)言的時(shí)候,有沒(méi)有讓你頭疼的東西?我比較頭疼的是字符串處理、鏈表、隊(duì)列、不可變長(zhǎng)的數(shù)組……然而,在C++中這都不是問(wèn)題!
C++里有字符串類string、容器類包括map、vector、list、queue等, 只需要實(shí)例化一下就可以用了!C++11中還加入了線程、std::bind, 函數(shù)對(duì)象std::function(可以替代c中的函數(shù)指針),lambda表達(dá)式等,使用起來(lái)確實(shí)很方便。 

boost

boost是C++的一個(gè)擴(kuò)展組件庫(kù),以下內(nèi)容引自百度百科:
Boost是為C++語(yǔ)言標(biāo)準(zhǔn)庫(kù)提供擴(kuò)展的一些C++程序庫(kù)的總稱。Boost庫(kù)是一個(gè)可移植、提供源代碼的C++庫(kù),作為標(biāo)準(zhǔn)庫(kù)的后備,是C++標(biāo)準(zhǔn)化進(jìn)程的開(kāi)發(fā)引擎之一,是為C++語(yǔ)言標(biāo)準(zhǔn)庫(kù)提供擴(kuò)展的一些C++程序庫(kù)的總稱。
Boost庫(kù)由C++標(biāo)準(zhǔn)委員會(huì)庫(kù)工作組成員發(fā)起,其中有些內(nèi)容有望成為下一代C++標(biāo)準(zhǔn)庫(kù)內(nèi)容。在C++社區(qū)中影響甚大,是不折不扣的“準(zhǔn)”標(biāo)準(zhǔn)庫(kù)。
Boost由于其對(duì)跨平臺(tái)的強(qiáng)調(diào),對(duì)標(biāo)準(zhǔn)C++的強(qiáng)調(diào),與編寫平臺(tái)無(wú)關(guān)。Boost庫(kù)有個(gè)特點(diǎn),85%的組件可以直接包含頭文件就可以引用,這個(gè)對(duì)于嵌入式系統(tǒng)的使用是非常方便的!
嵌入式大家都知道,如果使用庫(kù)是需要交叉編譯的,如果只是引用頭文件就可以使用,就不需要單獨(dú)交叉編譯庫(kù)文件了,很少方便。
其實(shí)對(duì)于boost庫(kù)我也是只用過(guò)很小一部分。

Qt

Qt 是一套跨平臺(tái)C++圖形用戶界面應(yīng)用程序開(kāi)發(fā)框架。它既可以開(kāi)發(fā)GUI程序,也可用于開(kāi)發(fā)非GUI程序,比如控制臺(tái)工具和服務(wù)器。
Qt里封裝了好多C++的類庫(kù),各種功能都有,比如常用的字符串處理類QString,可變長(zhǎng)數(shù)組(字節(jié)數(shù)組)QByteArray,聯(lián)合類型QVariant,以及類似于標(biāo)準(zhǔn)庫(kù)的容器模板類QMap、QVector、QList等等,
當(dāng)然Qt還有一個(gè)比較出色的地方,就是信號(hào)槽框架,這個(gè)信號(hào)槽用于類之間的通信。Qt里也封裝了線程,而且其線程用起來(lái)很好用,非常容易實(shí)現(xiàn)異步處理,線程間通信也是用信號(hào)槽,并且線程間的信號(hào)槽是
有隊(duì)列的,防止資源訪問(wèn)沖突。
使用Qt開(kāi)發(fā)效率是很高的,包括界面與非界面的應(yīng)用,使用Qt做嵌入式的應(yīng)用開(kāi)發(fā)會(huì)越來(lái)越多。

使用過(guò)boost與Qt組件庫(kù)與封裝,可能就不再想使用標(biāo)準(zhǔn)C++的啦!

到此,關(guān)于“C、C++、Boost、Qt與嵌入式開(kāi)發(fā)分析”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI