<strike id="xh1ss"><address id="xh1ss"></address></strike>
  1. <legend id="xh1ss"></legend>
  2. 更多課程 選擇中心

    嵌入式培訓
    達內IT學院

    400-111-8989

    讓C++為嵌入式系統服務

    • 發布:嵌入式培訓
    • 來源:嵌入式問答
    • 時間:2017-08-29 14:18

    讓C++為嵌入式系統服務

    雖然使用C++有可能會對嵌入式軟件帶來額外的開銷,但是這并沒有影響C++在嵌入式軟件中的推廣,在使用C++的過程中,揚長避短,發揮C++在封裝、繼承等方面的優勢,避開可能導致效率與性能問題的語言特性,依然可以開發出優秀的嵌入式軟件。使用C++在資源受限的環境中編程的時候,需要對這些語言特性進行合理的均衡與取舍。

    既然ISOC++中有一些語言特性有可能會導致性能和代碼體積的問題,如果能對ISOC++進行改造使其適用嵌入式環境,那自然是再好不過的了(雖然這有可能會導致一些鐵桿ISOC++支持者的不滿)。早在上個世紀90年代,就已經成立了嵌入式C++技術委員會(EmbeddedC++TechnicalCommittee),該委員會致力于定義一套適用于嵌入式軟件開發的C++語言規范。在1998年,EmbeddedC++規范正式出爐(我們簡稱之為EC++),我們可以從EC++的官方網站上查看這份規范,地址是http://www.caravan.net/ec2plus。大致來講,EC++是標準C++語言的一個子集,它從C++語法中剔除了一些實現復雜和會導致額外負擔語法元素。

    例如:多重繼承與虛基類、RTTI、異常處理、模版、命名空間等等。同時,在標準庫方面,EC++規范也做了刪減,STL和Stream等被剔除了。在EC++規范出爐之后。很多嵌入式廠商都推出了符合EC++規范的編譯器,在嵌入式領域有一定的影響。

    C++新的應用

    近幾年來,嵌入式系統領域又有了新的發展。首先,隨著手機、PDA等消費性電子產品的飛速增長,嵌入式系統地市場規模在飛速的擴大,這個領域吸引了越來越多的人的眼光。其次,隨著Internet的廣為流行,越來越多的智能嵌入式應用場景需要互聯網的支持,這也從另外一個角度推進了嵌入式系統硬件功能的增強和軟件復雜性的提高。

    在這新一波的浪潮中,C++語言又有了新的用武之地。在嵌入式SoC設計方面,通常需要對SoC體系結構進行建模以進行體系性能的分析及軟硬件聯合設計。VHDL等設計語言可以實現這些功能。而在1999年OSCI組織推出的SystemC是建立在C++基礎上的開放的系統級設計語言,能夠對SoC體系結構進行自然和有效的描述。這樣,在嵌入式芯片設計領域,C++也可以施展拳腳。隨著嵌入式軟件功能的不斷增強,通用計算機上普遍的操作系統也逐漸出現在嵌入式系統中,成為了嵌入式操作系統。嵌入式操作系統種類繁多。在功能、性能、應用領域等都有很大的差異。因此嵌入式領域沒有也不可能會像桌面計算機一樣有某一款操作系統取得壟斷地位。

    常見的嵌入式操作系統有VxWorks、嵌入式Linux、WindowsCE等等。在嵌入式操作系統領域,尤其是高端消費電子產品專用的操作系統領域,C++語言大有可為之處,很多嵌入式操作系統都使用C++搭建,并且對用戶以C++的形式提供引用程序編寫接口。在這方面,SymbianOS是一個很好的例子,SymbianOS是由愛立信、諾基亞、摩托羅拉等共同出資開發,其目的是為智能手機提供一個操作系統平臺。SymbianOS的API均以C++類的方式提供,應用開發人員可以使用C++開發基于SymbianOS的手機上的應用程序。軟件巨頭微軟在這方面自然也不甘示弱,其推出的嵌入式操作系統WindowsCE以及構建在WindowsCE之上的WindowsMobile手機、PDA平臺憑借其一貫的易用性在市場上占據了一席之地。而WindowsCE配套的開發環境EmbeddedVisualC++與桌面開發使用的VisualC++在用戶界面、使用習慣上都一脈相承,并且EmbeddedVisualC++集成了桌面開發中常用的MFC、ATL等C++庫。使很多桌面應用程序開發人員可以容易的過渡到基于WindowsCE的嵌入式開發平臺上來。

    在國內方面,嵌入式操作系統不但完全使用C++語言構建,而且還引入了ISOC++中沒有的元數據等概念,并允許使用C++語言開發自描述的構件。甚至在一些電子玩具上,也不乏C++的身影。BrickOS是一個運行在樂高(Lego,全球著名的玩具制造商)玩具機器人上的開源嵌入式操作系統,旨在為玩具機器人提供C/C++的編程環境。我們可以從SourceForge網站上查找BrickOS的相關信息。在BrickOS下,就可以使用C++語言編程控制機器人身上的傳感器等部件,使機器人完成踢足球、賽跑等復雜的動作(學C++要從娃娃抓起)。

    結論

    C++語言在誕生之日起就被設計成一種通用(GeneralPurpose)的編程語言,適用于不同的應用場景。經過二十年的發展,C++在服務器端,桌面工作站的程序編寫中都有了廣泛的應用。隨著近年來移動設備與嵌入式系統的迅速崛起,C++在移動與嵌入式領域也有廣泛的用武之地。而C++作為系統級編程語言的一些優越的語言特性,在嵌入式設備上可以更好的得以體現。可以預見,隨著嵌入式產業的飛速發展及C++語言的不斷完善,在嵌入式領域C++必將有更輝煌的前景。

    預約申請免費試聽課

    填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

    上一篇:嵌入式開發與C++語言的關系
    下一篇:淺析比選擇嵌入式操作系統更重要的事情

    嵌入式培訓機構哪家好?中國找達內!

    嵌入式培訓分享|應該如何學習嵌入式?

    自學嵌入式VS參加嵌入式培訓班學習

    帶你2分鐘了解嵌入式開發技術!!

    • 掃碼領取資料

      回復關鍵字:視頻資料

      免費領取 達內課程視頻學習資料

    • 視頻學習QQ群

      添加QQ群:1143617948

      免費領取達內課程視頻學習資料

    Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

    選擇城市和中心
    黑龍江省

    吉林省

    河北省

    湖南省

    貴州省

    云南省

    廣西省

    海南省

    黄色一级全祼,欧美一级aa片,一级毛卡片,一级特黄大片,三级片视频 百度 好搜 搜狗
    <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>