?嵌入式軟件開發(fā)為什么選擇 C 語(yǔ)言?

這兩年要說最火的編程語(yǔ)言,C語(yǔ)言絕對(duì)算其中一個(gè),最近兩年 TIOBE 編程語(yǔ)言排行中,C語(yǔ)言都排在第一、二的位置。
本月(11月)TIOBE 編程語(yǔ)言排行,C語(yǔ)言排行第二。

C語(yǔ)言特點(diǎn)
C語(yǔ)言相對(duì)JAVA、C#這些高級(jí)語(yǔ)言,是一種“輕量級(jí)”的編程語(yǔ)言。
1.C語(yǔ)言有出色的可移植性,能在多種不同體系結(jié)構(gòu)的軟/硬平臺(tái)上運(yùn)行。
2.簡(jiǎn)潔緊湊,使用靈活的語(yǔ)法機(jī)制,并能直接訪問硬件。
能夠直接訪問硬件的語(yǔ)言有匯編和C語(yǔ)言,匯編屬于低級(jí)語(yǔ)言,難以完成一些復(fù)雜的功能,但是匯編比C語(yǔ)言訪問硬件的效率更高。所以,一般將硬件初始化的工作交給匯編,比較復(fù)雜的操作交給C語(yǔ)言。
3.C語(yǔ)言具有很高的運(yùn)行效率。
C語(yǔ)言直接操作底層寄存器,相比JAVA、C#多層封裝,使其具有高效的運(yùn)行效率。
開發(fā)工具
開發(fā)工具在嵌入式軟件開發(fā)中有重要的地位,大部分嵌入式軟件開發(fā)工具都是針對(duì)C/C++編程語(yǔ)言。
你會(huì)發(fā)現(xiàn)很多嵌入式C相關(guān)的工具鏈,而很少有C#、JAVA、PHP這些用于嵌入式的工具鏈。
在單片機(jī)領(lǐng)域,集成開發(fā)環(huán)境更是多的數(shù)不過來,Keil、 IAR、 Embedded Studio...等很多。
面向過程VS面向?qū)ο?/strong>
面向過程(Procedure Oriented)是一種以過程為中心的編程思想。“面向過程”也可稱之為“面向記錄”編程思想,他們不支持豐富的“面向?qū)ο蟆碧匦?比如繼承、多態(tài)),并且它們不允許混合持久化狀態(tài)和與邏輯。
面向過程就是分析出解決問題所需要的步驟,然后用函數(shù)把這些步驟一步一步實(shí)現(xiàn),使用的時(shí)候一個(gè)一個(gè)依次調(diào)用就可以了。面向過程其實(shí)是最為實(shí)際的一種思考方式,就算是面向?qū)ο蟮姆椒ㄒ彩呛忻嫦蜻^程的思想。
可以說面向過程是一種基礎(chǔ)的方法,它考慮的是實(shí)際地實(shí)現(xiàn)。一般的面向過程是從上往下步步求精,所以面向過程最重要的是模塊化的思想方法。

面向?qū)ο蟪绦蛟O(shè)計(jì)可以看作一種在程序中包含各種獨(dú)立而又互相調(diào)用的對(duì)象的思想,這與傳統(tǒng)的思想剛好相反:傳統(tǒng)的程序設(shè)計(jì)主張將程序看作一系列函數(shù)的集合,或者直接就是一系列對(duì)電腦下達(dá)的指令。面向?qū)ο蟪绦蛟O(shè)計(jì)中的每一個(gè)對(duì)象都應(yīng)該能夠接受數(shù)據(jù)、處理數(shù)據(jù)并將數(shù)據(jù)傳達(dá)給其它對(duì)象,因此它們都可以被看作一個(gè)小型的“機(jī)器”,即對(duì)象。微信搜索readdot,關(guān)注后回復(fù)編程資源獲取23種精品資料
面向過程就是需要規(guī)劃路線,了解路況,自己做好一系列的準(zhǔn)備。
面向?qū)ο缶褪亲弦惠v出租車,告訴司機(jī)我要去B地就可以了,不用關(guān)心其他的事情。
逆鋒起筆專注于程序員圈子,你不但可以學(xué)習(xí)到java、python等主流技術(shù)干貨,還可以第一時(shí)間獲悉最新技術(shù)動(dòng)態(tài)、內(nèi)測(cè)資格、BAT大佬的經(jīng)驗(yàn)、精品視頻教程、副業(yè)賺錢經(jīng)驗(yàn),微信搜索readdot關(guān)注!
點(diǎn)擊“閱讀原文”查看更多分享,歡迎點(diǎn)分享、收藏、點(diǎn)贊、在看。
