成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

從C到C++過(guò)渡的3個(gè)原因

開(kāi)發(fā) 后端
幾十年來(lái),嵌入式開(kāi)發(fā)人員一直在爭(zhēng)論他們是否應(yīng)該使用C或C++。大多數(shù)情況下,微控制器制造商提供的軟件都是用C語(yǔ)言編寫的,事實(shí)上,根據(jù)2019年嵌入式市場(chǎng)調(diào)查,56%的嵌入式軟件是用C語(yǔ)言編寫的。

 幾十年來(lái),嵌入式開(kāi)發(fā)人員一直在爭(zhēng)論他們是否應(yīng)該使用C或C++。大多數(shù)情況下,微控制器制造商提供的軟件都是用C語(yǔ)言編寫的,事實(shí)上,根據(jù)2019年嵌入式市場(chǎng)調(diào)查,56%的嵌入式軟件是用C語(yǔ)言編寫的。然而,C++已經(jīng)逐漸普及,大約23%的新嵌入式軟件項(xiàng)目都是用C++編寫的。隨著C接近第五十周年,現(xiàn)在可能是開(kāi)始從C到C++的過(guò)渡時(shí)間了。以下是開(kāi)發(fā)人員應(yīng)該考慮改變的三個(gè)原因。

[[438941]]

原因1:改進(jìn)了體系結(jié)構(gòu)實(shí)現(xiàn)

C編程語(yǔ)言確實(shí)通過(guò)函數(shù)指針為開(kāi)發(fā)人員提供了封裝和一些基本的多態(tài)性功能。然而,C實(shí)際上是一種過(guò)程語(yǔ)言,不需要額外的努力就不能提供諸如繼承或組合之類的機(jī)制。這會(huì)使系統(tǒng)的總體架構(gòu)設(shè)計(jì)不太理想,從而影響軟件的重用和維護(hù)方式,甚至限制其靈活性。

C++為開(kāi)發(fā)人員提供了實(shí)現(xiàn)真正面向?qū)ο笤O(shè)計(jì)模式的能力,開(kāi)發(fā)了真正的抽象,并實(shí)現(xiàn)了設(shè)計(jì)模式,這些模式不僅可以從一個(gè)應(yīng)用程序重用到下一個(gè)應(yīng)用程序,而且還可以提高架構(gòu)的靈活性。這允許軟件被重用,這反過(guò)來(lái)又可以加快產(chǎn)品開(kāi)發(fā),縮短客戶機(jī)應(yīng)用程序的定制時(shí)間,以及許多其他優(yōu)勢(shì)。

原因2:C++是一種不斷發(fā)展的現(xiàn)代語(yǔ)言

在當(dāng)今復(fù)雜而創(chuàng)新的開(kāi)發(fā)環(huán)境中,嵌入式開(kāi)發(fā)人員不僅需要尖端的硬件解決方案,還需要尖端的軟件和語(yǔ)言解決方案。這意味著用于編寫軟件的語(yǔ)言必須是最新的,以便為開(kāi)發(fā)人員提供實(shí)現(xiàn)其系統(tǒng)所需的最新工具。C語(yǔ)言的上一次更新是在2018年,聽(tīng)起來(lái)好像是最近更新的。但是,如果你看一下標(biāo)準(zhǔn),沒(méi)有添加新功能,唯一的變化是修復(fù)了2011年發(fā)布的上一版本的問(wèn)題!是的,修訂后的標(biāo)準(zhǔn)花了七年的時(shí)間來(lái)解決上一個(gè)標(biāo)準(zhǔn)的問(wèn)題!

看C++,標(biāo)準(zhǔn)委員會(huì)承諾每三年更新一次標(biāo)準(zhǔn)!與C語(yǔ)言不同的是,新的修訂版不僅僅是bug修復(fù),而是為該語(yǔ)言添加了新的特性和功能,使其成為最新的語(yǔ)言,并提供與其他語(yǔ)言(如Python)競(jìng)爭(zhēng)所需的工具。新標(biāo)準(zhǔn)甚至刪除了不推薦使用的功能,如三角圖。

 

原因3:C++是一種更豐富的語(yǔ)言

直到3-4年前,我為微控制器編寫的大多數(shù)嵌入式軟件都使用C編程語(yǔ)言。C++總是提供比C更豐富的特征集,但在那個(gè)時(shí)候編譯器似乎已經(jīng)達(dá)到編譯代碼是等效的或更好的點(diǎn)。那時(shí)我開(kāi)始潛心學(xué)習(xí)C++語(yǔ)言,發(fā)現(xiàn)語(yǔ)言變得多么豐富,還有更多的東西讓我學(xué)習(xí)語(yǔ)言。C++允許嵌入式開(kāi)發(fā)人員利用以下特性:

  • 模板–允許獨(dú)立于任何特定類型編寫代碼
  • 動(dòng)態(tài)多態(tài)性–允許在運(yùn)行時(shí)分配實(shí)現(xiàn)
  • 異常處理–捕獲錯(cuò)誤(對(duì)任何C開(kāi)發(fā)人員來(lái)說(shuō)都是驚人的)
  • 編譯時(shí)靜態(tài)if語(yǔ)句
  • 虛擬函數(shù)

這些只是幾個(gè)例子,還有更多!所有這些工具使嵌入式系統(tǒng)的生活編程變得更容易。

結(jié)論

C++是一種現(xiàn)代的、進(jìn)化的語(yǔ)言,C語(yǔ)言看起來(lái)是靜態(tài)的,進(jìn)化得慢得多。隨著嵌入式開(kāi)發(fā)人員在其系統(tǒng)中面臨日益增加的復(fù)雜性,他們需要一種允許他們靈活并最大限度地重用的語(yǔ)言。許多“舊時(shí)代”的抱怨不再適用于C++,尤其是C++編譯器已經(jīng)變得多么高效。如果有時(shí)間開(kāi)始轉(zhuǎn)換到C++,這很可能就是它。

責(zé)任編輯:華軒 來(lái)源: 今日頭條
相關(guān)推薦

2011-07-13 17:42:32

CC++

2011-07-13 17:08:02

CC++

2011-07-13 16:48:55

CC++

2015-06-25 11:21:33

C++Objective-C

2009-08-27 16:03:31

從c#到c++

2024-04-28 09:26:40

RustRTTI二進(jìn)制

2011-06-15 15:29:25

Qt C++

2009-08-20 15:54:48

從C#到C++

2024-01-22 11:33:17

C++編程語(yǔ)言開(kāi)發(fā)

2009-09-04 17:34:11

C#CC++

2010-01-21 16:08:26

C++語(yǔ)言

2025-03-25 09:00:00

2024-01-22 10:52:45

C++多線程死鎖

2010-01-28 16:58:32

學(xué)習(xí)C++感想

2010-01-21 14:07:14

CC++聲明

2021-05-06 10:33:30

C++Napiv8

2024-12-24 07:20:00

C++std::anyC++17

2010-01-21 09:34:57

C++語(yǔ)法

2010-01-27 16:05:06

C++堆棧

2010-01-26 15:51:06

C++變量
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 亚洲国产欧美91 | 一道本一区二区 | 一级免费在线视频 | 日韩中文视频 | 中文字幕伊人 | 久久免费国产 | 日韩国产欧美一区 | 精品亚洲一区二区 | 亚洲视频在线看 | 成人在线免费网站 | 亚洲成人精品免费 | 性做久久久久久免费观看欧美 | 久久免费高清视频 | 亚洲精品v | 成人免费视频观看视频 | 日韩在线三级 | 亚洲免费一区二区 | 中文字幕一区在线 | caoporn国产精品免费公开 | 可以免费看的毛片 | 久久午夜剧场 | 欧美精品一区二区三区蜜桃视频 | 天天干天天玩天天操 | 国产一区二区免费 | 特黄毛片视频 | 毛片a区 | 国产乱码精品一区二区三区中文 | 亚洲国产精品一区二区三区 | 国产农村妇女毛片精品久久麻豆 | 成人教育av | 国产91亚洲精品一区二区三区 | 色爱区综合| 波多野吉衣久久 | 欧美成人一区二区三区 | 婷婷免费在线 | 求毛片| 久久99视频精品 | 久久久久久免费毛片精品 | 欧美日韩一 | 欧美一区二区成人 | 亚洲三区视频 |