<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

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

          共 1740字,需瀏覽 4分鐘

           ·

          2021-12-29 05:23

          以下內(nèi)容來自公眾號(hào)逆鋒起筆,關(guān)注每日干貨及時(shí)送達(dá)
          素材來源 | 網(wǎng)絡(luò)
          微信公眾號(hào) | 嵌入式專欄

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


          本月(11月)TIOBE 編程語(yǔ)言排行,C語(yǔ)言排行第二


          地址:
          https://www.tiobe.com/tiobe-index/


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

          除了我們看到的C語(yǔ)言很火之外,其實(shí)C語(yǔ)言是有一些本質(zhì)的原因。

          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>

          C語(yǔ)言是高級(jí)語(yǔ)言中的低級(jí)語(yǔ)言,具有高級(jí)編程語(yǔ)言的特性,也具有低級(jí)語(yǔ)言的優(yōu)點(diǎn)。

          所有,你知道為啥C語(yǔ)言是一種“面向過程”的編程語(yǔ)言了吧?

          1.面向過程

          面向過程(Procedure Oriented)是一種以過程為中心的編程思想。“面向過程”也可稱之為“面向記錄”編程思想,他們不支持豐富的“面向?qū)ο蟆碧匦?比如繼承、多態(tài)),并且它們不允許混合持久化狀態(tài)和與邏輯。


          面向過程就是分析出解決問題所需要的步驟,然后用函數(shù)把這些步驟一步一步實(shí)現(xiàn),使用的時(shí)候一個(gè)一個(gè)依次調(diào)用就可以了。面向過程其實(shí)是最為實(shí)際的一種思考方式,就算是面向?qū)ο蟮姆椒ㄒ彩呛忻嫦蜻^程的思想。


          可以說面向過程是一種基礎(chǔ)的方法,它考慮的是實(shí)際地實(shí)現(xiàn)。一般的面向過程是從上往下步步求精,所以面向過程最重要的是模塊化的思想方法


          2.面向?qū)ο?/span>
          面向?qū)ο蟮姆治龈鶕?jù)抽象關(guān)鍵的問題域來分解系統(tǒng)。面向?qū)ο蟮脑O(shè)計(jì)是一種提供符號(hào)設(shè)計(jì)系統(tǒng)的面向?qū)ο蟮膶?shí)現(xiàn)過程,它用非常接近實(shí)際領(lǐng)域術(shù)語(yǔ)的方法把系統(tǒng)構(gòu)造成“現(xiàn)實(shí)世界”的對(duì)象。

          面向?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種精品資料


          3.面向過程和面向?qū)ο蟮膮^(qū)別
          以一個(gè)人從A地到B地為例:
          • 面向過程就是需要規(guī)劃路線,了解路況,自己做好一系列的準(zhǔn)備。

          • 面向?qū)ο缶褪亲弦惠v出租車,告訴司機(jī)我要去B地就可以了,不用關(guān)心其他的事情。


          最后,C語(yǔ)言也有他自身的缺陷,比如代碼的復(fù)用性差,代碼的維護(hù)性差,擴(kuò)展性很差,新增代碼時(shí)不改變?cè)瓉淼拇a。

          逆鋒起筆專注于程序員圈子,你不但可以學(xué)習(xí)到javapython等主流技術(shù)干貨,還可以第一時(shí)間獲悉最新技術(shù)動(dòng)態(tài)內(nèi)測(cè)資格BAT大佬的經(jīng)驗(yàn)精品視頻教程副業(yè)賺錢經(jīng)驗(yàn),微信搜索readdot關(guān)注!

          嵌入式開發(fā)常見問題解決方法
          書單 | 嵌入式、C語(yǔ)言編程書籍
          微信重要更新,再也不怕被海王騙了..
          如何搭建一臺(tái)永久運(yùn)行的個(gè)人服務(wù)器?
          MySQL、Redis、MongoDB 網(wǎng)絡(luò)抓包工具


          點(diǎn)擊“閱讀原文”查看更多分享,歡迎點(diǎn)分享、收藏、點(diǎn)贊、在看。

          瀏覽 42
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  大屌操免费视频 | 99免费视频天堂 | 在线观看黄色的网站 | www.三级片 | 激情黄色免费视频 |