1. 程式人生 > >嵌入式開發為什麼選擇C語言做開發語言?

嵌入式開發為什麼選擇C語言做開發語言?

眾所周知,C語言在嵌入式開發中佔有十分重要的地位,它們的關係非比尋常。那麼為什麼嵌入式開發會選擇C語言,而不是其他語言呢?

嵌入式開發是在作業系統內部做開發的,作業系統所有的核心幾乎都是C語言編寫,如果我們也使用C語言做開發,必定會具備一定的優勢。

再者,C語言相較其他的高階程式語言,其所有的特點對於嵌入式開發軟體是再合適不過的了。

C語言的特點如下:

  • C語言具有出色的可移植性,能在多種不同體系結構的軟/硬體平臺上執行。
  • C語言具有簡潔緊湊、使用靈活的語法機制,並能直接訪問硬體。
  • C語言具有很高的執行效率。

嵌入式軟體一般需著重考慮三個方面:效能、安全性和開發效率(包括程式碼可移植性等)。

效能(執行效率)方面,彙編明顯是最高的。但彙編在安全性和開發效率方面明顯是最低的。所以除非是要求極端高效能的嵌入式平臺(或者是系統實在是太簡單而沒辦法支援高階語言),使用匯編語言的不多。我們一般進行初始化時會使用匯編語言。

而其它高階語言的執行效率一般比較低(C程式執行效率可達彙編的80%,而其它程式可能只有C程式的80%),原始碼和目的碼也可能會比較長。這樣佔用的記憶體也會比較大。嵌入式開發的程式設計是要在開發板上跑的,佔用記憶體的增多必然會影響效能。這樣一來,C語言的優勢就會凸現出來啦。

但是C語言也並不是完美無瑕的,它也是有一些缺點的。譬如:

  • 程式碼的複用性差
  • 程式碼的可擴充套件性差
  • 程式碼的維護性差

所以我們在編寫c語言程式碼的時候,要儘量克服避免這些缺點,提高程式碼的質量。還是可以接受的。

相關推薦

嵌入式開發為什麼選擇C語言開發語言

眾所周知,C語言在嵌入式開發中佔有十分重要的地位,它們的關係非比尋常。那麼為什麼嵌入式開發會選擇C語言,而不是其他語言呢? 嵌入式開發是在作業系統內部做開發的,作業系統所有的核心幾乎都是C語言編寫,如果我們也使用C語言做開發,必定會具備一定的優勢。 再者,C語言相較其他的

嵌入式開發為什麼選擇C語言

1.從語言特點來說 ①C語言有出色的可移植性,能在多種不同體系結構的軟/硬平臺上執行。 ②簡潔緊湊,使用靈活的語法機制,並能直接訪問硬體能夠直接訪問硬體的語言有:彙編和C語言彙編屬於低階語言,難以完成一些複雜的功能,但是彙編比C語言訪問硬體的效率更高。 所以,一般將硬體

嵌入式開發為什麼選擇C語言

 嵌入式開發為什麼選擇C語言? 1.從語言特點來說: ①C語言有出色的可移植性,能在多種不同體系結構的軟/硬平臺上執行 ②簡潔緊湊,使用靈活的語法機制,並能直接訪問硬體   能夠直接訪問硬體的

嵌入式Linux開發常用C語言標準庫函式

推薦兩個網站: http://www.cplusplus.com/ 各大語言基礎入門必備網站 菜鳥教程:http://www.runoob.com/ 標準輸入/輸出類函式 scanf() http://www.runoob.com/cprogramming/c-functio

嵌入式C語言實戰開發詳解(一)

一、概述 1、嵌入式開發中為什麼選擇C語言? 因為作業系統的核心都是使用的C語言,而且C語言也有如下幾個優點: (1)出色的移植性,能在多種不同體系結構的軟/硬平臺上執行(修改量越小,移植性越好);

嵌入式系統開發人員C語言測試題(資料型別和變數)

} (40)以下程式的執行結果是______。 main() { unionEXAMPLE{ struct{ intx; inty; }in; inta; intb; }e; e.a= 1; e.b=

關於嵌入式開發C語言基礎總結

一、位操作    C語言支援的6種位操作符如下:1. 不改變其他位的值的狀況下,對某幾個位進行設值。        方法:先對需要設定的位用&操作符(對應位&0)進行清零操作,然後用|操作符設值(對應位|你想要設定的值)。舉例:改變 GPIOA-> BS

linux系統--C語言程序開發的基本步驟(包含gcc的基本步驟)

什麽 linu 第一步 源文件 inux 文件 c語言 決定 擴展 1、使用vi或者vim編寫程序文件 2、使用gcc把所有的源文件翻譯成計算機認識的格式(編譯) 3、使用./a.out作為命令執行得到的可執行文件 gcc編譯器的工作步驟: 1、處理所有的預處理指令 2、把

學會了C語言可以開發出很多東西嗎?

dac 是你 ping 動態 方法 快速實現 別人 b2c 高級語言 C語言相比其他高級語言,就像內功和劍法一樣。只會C語言可能並不能寫出一個看起來就很厲害的程序,但C語言是你學好其他一切語言的基礎。有了C語言的底子,再學別的語言就很容易上手了。你能想到的,C語言都能搞,可

說說C#語言開發環境的搭建

宇宙 微軟公司 加油 裝包 等我 優秀 新的 frame 也有 C#語言是一門面向對象的編程語言,是微軟公司在吸收了C++語言、Java語言的優點的基礎上,創建的一門更加優秀的編程語言。在實際的學習中,我們總是會不得不面對一個C#語言的集成開發環境的選擇問題。可以使用的集成

ios開發學習c語言第一天 2018-11-13

程式編譯過程 1.編寫程式碼 (1)找到一個整合開發環境作為我們的開發工具,例如Xcode、Visual studio 系列、C++ Builder、Delphi系列 (2)找到一個文字編譯器 (3)生成源程式檔案,以.c為字尾 2.預編譯  檔案以.i字尾 (1)標頭檔案的展開 巨集展

Linux C程式設計之一:Linux下c語言開發環境

—恢復內容開始— 今天開始根據Linux C程式設計相關視訊的學習所做的筆記,希望能一直堅持下去。。。 1、開發環境的構成 編輯器:VI; 編譯器:選擇GNU C/C++編譯器gcc; 偵錯程式:應用廣泛的gdb; 函式庫:glibc ; 系統標頭檔案:glibc_header; 2、在安裝L

【一篇文章帶你讀完《C語言實戰開發》】

《C語言實戰開發》 下載地址:https://download.csdn.net/download/qq_23996157/10829558 有道雲筆記共享(歡迎評論):http://note.youdao.com/noteshare?id=62f86ecdb02a8893e65c22cc341

為什麼要選擇Java語言作為開發語言呢?

如果想要讓一個OA系統/官網/APP/小程式/H5能夠在各種不同的平臺裝置上執行,開發語言就必須跨平臺,通過跨平臺遮蔽底層硬體的差異,而不必讓程式設計師為了考慮底層硬體的不同寫出不同的程式碼。 那麼是誰能夠做到跨平臺、一次編譯到處執行並且能夠保證效率的顯然是J

為什麼我堅持用Go語言Web應用開發框架?

點選上方“CSDN”,選擇“置頂公眾號”關鍵時刻,第一時間送達!【CSDN編者按】很多情況下,企

NX二次開發-初學者C++語言基礎入門部落格目錄【持續更新】

題目 例子 NX二次開發技術專欄 NX二次開發技術專欄【持續更新】 點選進入專欄

NX二次開發-初學者C語言基礎入門部落格目錄【持續更新】

題目 例子 一個簡單的C程式 點選進入目錄 一個完整的C程式 點選進入目錄 例子:已知長方體的高,通過輸入長和寬,求體積。

Android NDK開發C語言基礎及指標①

我們知道 , Android系統是基於linux開發 , 採用的是linux核心 , Android APP開發大部分也要和系統打交道 , 只是Android FrameWork 幫我們遮蔽了系統操作 , 我們從Android 系統的分成結構可以看出 , Android FrameWork是通過JNI與底層的

關於Android NDK開發--編寫C語言那些事

最近公司要求寫介面加密方法,還要求用寫成.so檔案; c語言還是大學時的垃圾底子,Android NDK開發也是根本沒有研究過,但是也只能一點一點摸索,藉此記錄一下,便於以後用到查詢方便,也讓跟我同樣的小白可以簡單借鑑一下,不至於這麼茫然。 下面就開始簡單的NDK開發:

C語言專案開發系列視訊課程-楊波-專題視訊課程

C語言專案開發系列視訊課程—246人已學習 課程介紹        專案開發流程: 1)需求分析 2)資料結構分析 3)程式碼架構分析 4)編寫程式碼 5)測試釋出 6)迭代更新 1、小說閱讀器 做一個屬於自己的閱讀器,你想新增的功能分章顯示、空格翻頁、歷史瀏覽記錄…… 2、