嵌入式開發簡介
嵌入式開發就是指在嵌入式操作系統下進行開發,一般常用的系統有WinCE,ucos,vxworks,linux,android等。另外,用c,c++或匯編開發;用高級處理器,arm7,arm9,arm11,powerpc,mips,mipsel等,或加上操作系統也屬于嵌入式的開發。
嵌入式開發的分類
1、嵌入式應用開發,應該就是你說的嵌入式開發,即c++或android等精通一門面向對象語言。
2、嵌入式內核移植,底層驅動開發,會看懂一些數字電路,能寫一些簡單的匯編語言,精通c語言,了解arm的基本架構,linux內核了解越深越好,會編寫驅動。
嵌入式開發的使用技巧
嵌入式系統(Embedded System)是指以應用為中心、以計算機技術為基礎,軟件硬件可裁剪、適應應用系統對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統。舉例來說,大到油田的集散控制系統和工廠流水線,小到家用VCD機或手機,甚至組成普通PC終端設備的鍵盤、鼠標、硬盤、Modem等均是由嵌入式處理器控制的。
嵌入式開發的應用領域
嵌入式系統無疑是當前最熱門最有發展前途的IT應用領域之一。嵌入式系統用在一些特定專用設備上,通常這些設備的硬件資源(如處理器、存儲器等)非常有限,并且對成本很敏感,有時對實時響應要求很高等。特別是隨著消費家電的智能化,嵌入式更顯重要。
像我們平常見到的手機、PDA、電子字典、可視電話、VCD/DVD/MP3 Player、數字相機(DC)、數字攝像機(DV)、U-Disk、機頂盒(Set Top Box)、高清電視(HDTV)、游戲機、智能玩具、交換機、路由器、數控設備或儀表、汽車電子、家電控制系統、醫療儀器、航天航空設備等等都是典型的嵌入式系統。
c++簡介
C++是C語言的繼承,它既可以進行C語言的過程化程序設計,又可以進行以抽象數據類型為特點的基于對象的程序設計,還可以進行以繼承和多態為特點的面向對象的程序設計。C++擅長面向對象程序設計的同時,還可以進行基于過程的程序設計,因而C++就適應的問題規模而論,大小由之。
C++不僅擁有計算機高效運行的實用性特征,同時還致力于提高大規模程序的編程質量與程序設計語言的問題描述能力。
C++工作原理
C++語言的程序因為要體現高性能,所以都是編譯型的。但其開發環境,為了方便測試,將調試環境做成解釋型的。即開發過程中,以解釋型的逐條語句執行方式來進行調試,以編譯型的脫離開發環境而啟動運行的方式來生成程序最終的執行代碼。
生成程序是指將源碼(C++語句)轉換成一個可以運行的應用程序的過程。如果程序的編寫是正確的,那么通常只需按一個功能鍵,即可搞定這個過程。該過程實際上分成兩個步驟。
第一步是對程序進行編譯,這需要用到編譯器(compiler)。編譯器將C++語句轉換成機器碼(也稱為目標碼);如果這個步驟成功,下一步就是對程序進行鏈接,這需要用到鏈接器(linker)。鏈接器將編譯獲得機器碼與C++庫中的代碼進行合并。C++庫包含了執行某些常見任務的函數(“函數”是子程序的另一種稱呼)。例如,一個C++庫中包含標準的平方根函數sqrt,所以不必親自計算平方根。C++庫中還包含一些子程序,它們把數據發送到顯示器,并知道如何讀寫硬盤上的數據文件。
C++的特點
1、支持數據封裝和數據隱藏
在C++中,類是支持數據封裝的工具,對象則是數據封裝的實現。C++通過建立用戶定義類支持數據封裝和數據隱藏。
在面向對象的程序設計中,將數據和對該數據進行合法操作的函數封裝在一起作為一個類的定義。對象被說明為具有一個給定類的變量。每個給定類的對象包含這個類所規定的若干私有成員、公有成員及保護成員。完好定義的類一旦建立,就可看成完全封裝的實體,可以作為一個整體單元使用。類的實際內部工作隱藏起來,使用完好定義的類的用戶不需要知道類是如何工作的,只要知道如何使用它即可。
2、支持繼承和重用
在C++現有類的基礎上可以聲明新類型,這就是繼承和重用的思想。通過繼承和重用可以更有效地組織程序結構,明確類間關系,并且充分利用已有的類來完成更復雜、深入的開發。新定義的類為子類,成為派生類。它可以從父類那里繼承所有非私有的屬性和方法,作為自己的成員。
3、支持多態性
采用多態性為每個類指定表現行為。多態性形成由父類和它們的子類組成的一個樹型結構。在這個樹中的每個子類可以接收一個或多個具有相同名字的消息。當一個消息被這個樹中一個類的一個對象接收時,這個對象動態地決定給予子類對象的消息的某種用法。多態性的這一特性允許使用高級抽象。
繼承性和多態性的組合,可以輕易地生成一系列雖然類似但獨一無二的對象。由于繼承性,這些對象共享許多相似的特征。由于多態性,一個對象可有獨特的表現方式,而另一個對象有另一種表現方式。
C++技術應用
1、科學計算
在科學計算領域,FORTRAN是使用最多的語言之一。但是C++憑借先進的數值計算庫、泛型編程等優勢在這一領域也應用頗多。
2、網絡軟件
C++擁有很多成熟的用于網絡通信的庫,其中最具有代表性的是跨平臺的、重量級的ACE庫,該庫可以說是C++語言最重要的成果之一,在許多重要的企業、部門甚至是軍方都有應用。
3、操作系統
在該領域,C語言是主要使用的編程語言。但是C++憑借其對C的兼容性,面向對象性質也開始在該領域有一席之地。
嵌入式開發與c++開發的區別
嵌入式軟件和c++沒有可比性,一個是大類,一個是語言。這倆沒可比性。嵌入式開發也可能用c++,也可能用其他語言。
嵌入式主要指linux下的開發,包括linux驅動開發和應用層的開發,現在由于有android了,所以,android ndk開發或者移植也逐漸涉及到了。但不包含android app的開發,那個是專門的一項。linux部分的開發主要是c語言,如果涉及linux驅動,需要有相應的硬件知識。無論驅動開發和應用層開發,都需要對linux系統的知識。 android ndk 是用c或者c++的。除此之外,嵌入式方面的語言主要是c,匯編,和bash腳本。
c++是一門語言,在win的環境下開發用的比較多。當然,也可以用在嵌入式設備上,但只能做linux應用層或更往上的東西。linux系統及底層都是c的。c++在純軟件的項目上用的比較多。
-
嵌入式開發
+關注
關注
18文章
1006瀏覽量
47352 -
C++
+關注
關注
21文章
2085瀏覽量
73302
發布評論請先 登錄
相關推薦
評論