嵌入式C開(kāi)發(fā)VS嵌入式CPP開(kāi)發(fā)!_全球微速訊
這是知乎嵌入式領(lǐng)域的一個(gè)熱門(mén)話(huà)題,原文鏈接:
(相關(guān)資料圖)
幾個(gè)高贊回答:
答主:聽(tīng)心跳的聲音
單片機(jī)的主流編譯語(yǔ)言可預(yù)見(jiàn)的長(zhǎng)期仍然是C和少量匯編的結(jié)合體,而嵌入式Linux領(lǐng)域的未來(lái)在我看來(lái)更傾向于多語(yǔ)言范式的混合應(yīng)用編程,內(nèi)核模塊使用C,應(yīng)用層邏輯使用C++, Python,nodejs的混合編程,而界面的話(huà)使用java和QT/C++,下面說(shuō)原因。
在單片機(jī)領(lǐng)域C++不太流行既有歷史原因,也有工業(yè)界的需求,對(duì)于單片機(jī)是從51發(fā)展到現(xiàn)在,主流的flash容量仍然在64KB~256KB左右。
目前的容量限制注定了C++中的模板,泛型編程和STL等很難被運(yùn)用到開(kāi)發(fā)中,但如果不使用這些,只使用支持class的C++,在C語(yǔ)言是有結(jié)構(gòu)體+函數(shù)指針可以替代的情況下,從C換成C++并沒(méi)有迫切的需求,而python和js的推廣困難,也有著類(lèi)似的理由,此外在加上調(diào)試?yán)щy。
不過(guò)對(duì)于rust,這個(gè)理由是不存在的,但是因?yàn)闅v史的慣性,目前行業(yè)內(nèi)無(wú)論大小公司,都大量的遺留和正在做的都是C語(yǔ)言項(xiàng)目(包含原廠的方案),替換成rust就是商業(yè)成本問(wèn)題,而不是語(yǔ)言問(wèn)題(在我看來(lái)rust語(yǔ)言層面優(yōu)于C太多),所以rust熱愛(ài)者們應(yīng)該是多去為各主流廠商平臺(tái)提供開(kāi)源項(xiàng)目(具體項(xiàng)目,不是移植跑個(gè)hello world就完事了,能跑和能用在產(chǎn)品中是兩個(gè)概念),而不是呼吁語(yǔ)法層面多優(yōu)秀。
另外單片機(jī)優(yōu)勢(shì)不僅僅是實(shí)時(shí)可控,而是價(jià)格便宜,對(duì)于出貨量十萬(wàn)甚至上百萬(wàn)的設(shè)備,flash容量也是可觀的成本,所以工業(yè)界更希望是用最小的成本做最多的事,從這方面來(lái)說(shuō),C是比C++,python, js有明顯優(yōu)勢(shì)的。
在嵌入式Linux領(lǐng)域, C++絕對(duì)是應(yīng)用層主力之一,QT/C++雖然目前因?yàn)樾酒阅艿奶嵘?,逐漸被Android/Java所替代,但仍然在醫(yī)療,工控,車(chē)載導(dǎo)航等領(lǐng)域占據(jù)主流地位,而且這也是目前C++的重要應(yīng)用領(lǐng)域之一,說(shuō)嵌入式比較難,而C++也十分困難,所以嵌入式人員學(xué)習(xí)C++比較少是十分片面客觀的印象。
另外C++難的地方是移動(dòng)語(yǔ)義,模板偏特化,lambda, 模板元編程等知識(shí),C++各種語(yǔ)法組合成的奇淫巧技如果不花大量時(shí)間去鉆研,看起來(lái)是猶如天書(shū)(很少有人例外),但對(duì)于工業(yè)界,特別是嵌入式類(lèi)應(yīng)用來(lái)說(shuō),只使用STL封裝的vector,map以及算法等方便開(kāi)發(fā),封裝些模板函數(shù)或者類(lèi)幫助復(fù)用,很多時(shí)候C++11的新特性都用不全,說(shuō)困難就有點(diǎn)夸大其詞了。
工業(yè)界的難點(diǎn)永遠(yuǎn)是如何把產(chǎn)品的需求轉(zhuǎn)換成具體的任務(wù)分解(滿(mǎn)足性能,成本和功能的平衡,同時(shí)能夠長(zhǎng)期穩(wěn)定性),而不是使用何種語(yǔ)言來(lái)實(shí)現(xiàn)任務(wù),當(dāng)需求導(dǎo)向任意語(yǔ)言,無(wú)論是python,js,C++還是java,面向工資編程,只要有需求,總會(huì)有人會(huì)踏入這個(gè)方向,難度不是問(wèn)題,需求和薪水才是問(wèn)題。
答主:pansz
現(xiàn)實(shí)情況是:C++太難了,嵌入式人才本來(lái)就少,你還要能用C++且不出幺蛾子,那就更少。
所以用C確實(shí)是主流。因?yàn)镃程序員要求還是低些。
記得我當(dāng)初剛搞嵌入式的時(shí)候,系統(tǒng)連MMU都沒(méi)有,整個(gè)系統(tǒng)所有代碼全都在一個(gè)內(nèi)存空間,還得自己管理內(nèi)存池避免內(nèi)存碎片。隨便一個(gè)內(nèi)存訪問(wèn)錯(cuò)誤可以影響到完全不相干人的模塊的代碼。這種系統(tǒng)你敢用C++?
結(jié)論:如果你是自己一個(gè)人開(kāi)發(fā)代碼,并且對(duì)自己的C++水平有信心,那么用C++當(dāng)然沒(méi)有問(wèn)題。但是考慮到整體程序員群體的C++水平以及C語(yǔ)言水平,用C做嵌入式項(xiàng)目會(huì)更現(xiàn)實(shí)一些。
答主:candy
作為一個(gè)嵌入式十多年老手,可以說(shuō)CPP太復(fù)雜,語(yǔ)言特性太多,實(shí)現(xiàn)一個(gè)功能能能用幾十個(gè)以上的方法,太多稀奇古怪的方法去實(shí)現(xiàn)一個(gè)功能,CPP特性復(fù)雜得沒(méi)有5年以上經(jīng)驗(yàn)別想用好。但一個(gè)項(xiàng)目組幾個(gè)人CPP能力不一致,用一些稀奇古怪的特性去實(shí)現(xiàn)一些功能,多個(gè)人之間就沒(méi)法維護(hù)了。
在調(diào)試的時(shí)候,面向?qū)ο蟮恼{(diào)試最好上圖形界面的工具才好調(diào)試,而嵌入式大多數(shù)時(shí)候是沒(méi)有這種調(diào)試工具的,CPP寫(xiě)業(yè)務(wù),后期bug調(diào)試也會(huì)搞死你,CPP嵌入式調(diào)試比C復(fù)雜一個(gè)數(shù)量級(jí)以上。
第三點(diǎn),C語(yǔ)言特性雖然少,但完全夠用,實(shí)現(xiàn)一個(gè)功能方法不會(huì)很多,1年左右入門(mén),3年老手,而CPP 3年連CPP特性還沒(méi)搞清楚。C可以簡(jiǎn)單用,也可以復(fù)雜用,C with class小cass,結(jié)構(gòu)體加指針輕松實(shí)現(xiàn),看看linux kernel, 看看內(nèi)核頭文件,結(jié)構(gòu)體,宏各種精妙用法,你就會(huì)發(fā)現(xiàn)CPP完全多余了,CPP死于復(fù)雜。有經(jīng)驗(yàn)的大公司團(tuán)隊(duì)使用CPP都是使用CPP的一個(gè)子集,只使用一部分特性。
CPP設(shè)計(jì)特性太多不是優(yōu)點(diǎn),而是缺點(diǎn),別看什么特性幾乎都支持,其實(shí)太多選擇其實(shí)就是沒(méi)有選擇。實(shí)現(xiàn)一個(gè)功能有且僅有一種方法才是一個(gè)好語(yǔ)言,例如python,go也不錯(cuò)。
第四點(diǎn),產(chǎn)品應(yīng)用層其實(shí)重要的是業(yè)務(wù),各種復(fù)雜的業(yè)務(wù)邏輯,語(yǔ)言特性太多反而會(huì)混亂業(yè)務(wù)邏輯。C完全夠用,各種設(shè)計(jì)模式,C也可以實(shí)現(xiàn)。
能吸收內(nèi)核一些優(yōu)秀特性,例如內(nèi)核雙向鏈表,一些結(jié)構(gòu)體,宏,日志,內(nèi)存管理,線程管理,線程間進(jìn)程間通訊,各種鎖基本都需要C自己封裝套來(lái)用,這些東西學(xué)會(huì)了才能說(shuō)用好了C。即使對(duì)于新手來(lái)說(shuō),不會(huì)這些高級(jí)C用法,有一個(gè)高級(jí)C也可以帶領(lǐng)一群低級(jí)剛?cè)腴T(mén)的寫(xiě)一寫(xiě)業(yè)務(wù)代碼。而一個(gè)高級(jí)CPP沒(méi)法帶領(lǐng)一群剛?cè)腴T(mén)的CPP初學(xué)者完成同樣的項(xiàng)目。
第五點(diǎn), 資源限制,效率限制,同樣的業(yè)務(wù)功能,C的內(nèi)存占用,速度高于CPP,這些東西CPP里面基本都有現(xiàn)成的,可是了體積大,依賴(lài)多,對(duì)于嵌入式環(huán)境來(lái)說(shuō)太過(guò)于笨重了。就是說(shuō)同樣的產(chǎn)品,使用C可以使用更低端的主控芯片,更小的內(nèi)存,產(chǎn)品bom成本比使用cpp低,產(chǎn)品競(jìng)爭(zhēng)優(yōu)勢(shì)遠(yuǎn)高于使用cpp的。
本文來(lái)源網(wǎng)絡(luò),免費(fèi)傳達(dá)知識(shí),版權(quán)歸原作者所有。如涉及作品版權(quán)問(wèn)題,請(qǐng)聯(lián)系我進(jìn)行刪除。
注意
猜你喜歡:
談?wù)勄度胧杰浖募嫒菪裕?/p>
我是韋東山老師的忠實(shí)粉絲!
標(biāo)簽:
搶先讀
- 天天速訊:投資80億!天馬(蕪湖)新型顯示模組生產(chǎn)線封頂
- 今日最新!毛筆行書(shū)字帖練字可打?。P行書(shū)字帖)
- 中金公司(03908)股東海爾金盈累計(jì)減持 5232.72萬(wàn)股A股 減持?jǐn)?shù)量已過(guò)半|關(guān)注
- 華為余承東:未來(lái)比亞迪能活下來(lái),和華為緊密合作的廠家也能活下來(lái)
- 捷豹路虎攜豪華陣容登陸2023粵港澳大灣區(qū)車(chē)展
- 嵌入式C開(kāi)發(fā)VS嵌入式CPP開(kāi)發(fā)!_全球微速訊
- 《推理學(xué)院》2023情人節(jié)征文作品:逢君
- 第十五屆海峽論壇準(zhǔn)備就緒 邀請(qǐng)臺(tái)灣嘉賓5000余人 視點(diǎn)
- 我們是跟商家合作完成點(diǎn)擊量、充值量、從而提高熱度 環(huán)球視點(diǎn)
- 小心“新?!奔傧?!美銀:美股大漲后將大跌
- 世界要聞:阿特斯?jié)q20% 機(jī)構(gòu)凈買(mǎi)入1.72億元
- 奧斯特里茨會(huì)戰(zhàn)時(shí)間(奧斯特利茨會(huì)戰(zhàn)) 每日關(guān)注
- 螞蟻借唄逾期被起訴立案有事嗎?被起訴立案后能免息嗎?
- 燈塔市檢察院對(duì)3起輕微刑事案件召開(kāi)公開(kāi)聽(tīng)證會(huì) 當(dāng)前通訊
- 訊息:定期存款自動(dòng)轉(zhuǎn)存是什么意思?如何計(jì)算利息?
- 共建川渝“健康圈” “足不出梁”享受優(yōu)質(zhì)醫(yī)療服務(wù)|世界獨(dú)家
- 國(guó)網(wǎng)新蔡縣供電公司:安全宣傳走近市民群眾 世界熱頭條
- 廣州市黃埔區(qū)編制使用《市場(chǎng)監(jiān)督管理所作業(yè)指南》-焦點(diǎn)短訊
- 光遇花憩節(jié)紫藤樹(shù)掛機(jī)蠟燭獲取上限攻略 速遞
- “發(fā)膜”適合干發(fā)還是濕發(fā)使用?看懂這三點(diǎn),讓你護(hù)發(fā)效果翻倍 天天視點(diǎn)
- 【時(shí)快訊】基礎(chǔ)材料行業(yè)動(dòng)態(tài)點(diǎn)評(píng):國(guó)內(nèi)外政策交織 金屬價(jià)格影響各異
- 全球時(shí)訊:迷你電腦徹底取代臺(tái)式機(jī)?跑分超149萬(wàn),零刻GTR7玩3A游戲無(wú)壓力
- 每日頭條!蘇寧易家618場(chǎng)景升級(jí)提速 年內(nèi)計(jì)劃落地100家門(mén)店
- 菱電電控:費(fèi)用高企削減利潤(rùn),存貨暴增“惹”關(guān)注 世界看點(diǎn)
- 深耕儒家文化沃土,泗水助推“為小”志愿服務(wù)品牌走深走實(shí)
- 【獨(dú)家焦點(diǎn)】京信通信(02342)6月16日斥資約140.15萬(wàn)港元回購(gòu)95.4萬(wàn)股
- 清澗縣氣象臺(tái)繼續(xù)發(fā)布大風(fēng)藍(lán)色預(yù)警【Ⅳ級(jí)/一般】【2023-06-16】
- 關(guān)于red的英語(yǔ)短語(yǔ) ,有關(guān)red顏色的英語(yǔ)俚語(yǔ)詞組表達(dá),漲知識(shí)了!
- 合富輝煌(00733)授出6738萬(wàn)份購(gòu)股權(quán)
- 下班快回家!廈門(mén)發(fā)布暴雨藍(lán)色預(yù)警信號(hào)-環(huán)球精選
- 世界觀察:11歲的小女孩生日禮物
- 環(huán)球滾動(dòng):體驗(yàn)揮鐮
- 沙門(mén)氏菌感染高峰期將至,重點(diǎn)關(guān)注一老一小“兩頭人群” 環(huán)球今頭條
- 全球消息!黎巴嫩電影超級(jí)大片(黎巴嫩電影)
- 六月草海|去內(nèi)蒙古看綠色的大海
- 全球第二次記錄!我市拍到“頂級(jí)獵手”亞洲金貓進(jìn)食畫(huà)面_全球快看點(diǎn)
- 湖北發(fā)布災(zāi)害風(fēng)險(xiǎn)提示:雷暴大風(fēng)天氣來(lái)了,非必要不出行-每日資訊
- 國(guó)足2-0領(lǐng)先緬甸!林良銘收獲國(guó)家隊(duì)處子球!艾克森送精妙助攻
- 6.16氧健康日:全國(guó)多地醫(yī)院舉辦高壓氧醫(yī)學(xué)科普活動(dòng)
- 沉浸式體驗(yàn),讓孩子們近距離感受中醫(yī)藥文化魅力|全球快看
- 熱點(diǎn)在線丨遼寧省藥品監(jiān)督管理局注銷(xiāo)1家公司《藥品營(yíng)許可證》
- 以魚(yú)養(yǎng)湖樂(lè)垂釣、小區(qū)開(kāi)啟“賞花節(jié)”……冰城這些小區(qū)業(yè)主家門(mén)口盡享“花式游園會(huì)”
- 網(wǎng)商貸逾期后果是什么?多久第三方催收? 熱點(diǎn)
- 【世界新視野】精華肌底液怎么用?教你肌底液的正確使用方法
- 環(huán)球信息:股東知情權(quán)應(yīng)該如何行使
- 【聚看點(diǎn)】中國(guó)A股周四走強(qiáng) 創(chuàng)業(yè)板指數(shù)漲逾3%
- 第十八屆中國(guó)(長(zhǎng)春)動(dòng)漫藝術(shù)博覽會(huì)即將啟幕!為期3天 今日熱搜
- 液相分析過(guò)程中“溶劑效應(yīng)”的那些事兒~
- 2023年河北省養(yǎng)老金調(diào)整最新消息公布時(shí)間 河北省養(yǎng)老金上調(diào)方案及計(jì)算公式(預(yù)估)-焦點(diǎn)信息
- 今日?qǐng)?bào)丨事關(guān)基民!部分機(jī)構(gòu)收到通知:這一功能下線!影響有多大?
- 歐洲央行鷹派警告:加息或持續(xù)到夏季之后
- 世界微頭條丨中國(guó)首家麗思卡爾頓隱世酒店開(kāi)業(yè)
- 環(huán)球精選!一圖讀懂“亮劍浦江”上海個(gè)人信息保護(hù)專(zhuān)項(xiàng)行動(dòng):為期半年,“劍”指八大消費(fèi)場(chǎng)景
- 張融億:6.17黃金原油多頭調(diào)整,黃金原油下周漲跌獨(dú)家操作布局
- 原神2.6尋找關(guān)于老何的線索任務(wù)完成攻略
- 天天播報(bào):沙坪壩:樞紐促產(chǎn)業(yè)集群 國(guó)際物流城建設(shè)提質(zhì)升級(jí)
- 天鎮(zhèn)縣氣象臺(tái)發(fā)布大風(fēng)藍(lán)色預(yù)警【Ⅳ級(jí)/一般】【2023-06-16】
- 甘州區(qū)上秦鎮(zhèn)中心學(xué)校舉辦第四屆小學(xué)生詩(shī)詞大會(huì)
- 中國(guó)海仲委持續(xù)提升服務(wù)水平 助力國(guó)際經(jīng)貿(mào)投資合作
- 為何一到夏季,結(jié)石卻多發(fā)?可能存在這3點(diǎn)因素,勸你要避避開(kāi)
- 當(dāng)前熱門(mén):“這麥子地毯,比什么裝修都好看!”
- 國(guó)家發(fā)改委:將出臺(tái)恢復(fù)和擴(kuò)大消費(fèi)政策,持續(xù)改善消費(fèi)環(huán)境
- 永寧縣新就業(yè)群體服務(wù)季正式啟動(dòng)
- 房屋拆遷糾紛訴訟時(shí)效是多久
- 天天看熱訊:博世科最新公告:簽訂1.75億元EPC項(xiàng)目合同
- 天空體育:如果B席想離開(kāi)曼城,球隊(duì)不會(huì)為其設(shè)置阻礙_世界新要聞
- 北京明天最高氣溫38℃,外出注意防暑降溫和遮陽(yáng)防曬
- 一家寵物創(chuàng)業(yè)公司倒在618前丨焦點(diǎn)分析-天天快資訊
- (聚焦海峽論壇)吟唱詩(shī)詞傳家風(fēng) 兩岸共揚(yáng)中華文化
- 每日資訊:出手太重,UFC拳王意外將NBA吉祥物“伯尼”兩拳揍暈
- 世界觀速訊丨曼晚:帕爾默不在曼城新賽季計(jì)劃中,但球隊(duì)今夏不會(huì)出售他
- 鍥介檯娌逛環(huán)鏂欑粓緇撳懆綰夸簩榪炶穼錛屼駭娌瑰浗鏈熷緟涓浗涔伴渶鎵樺競(jìng)
- 湖紅之源:新化紅茶“挑擔(dān)茶葉上北京”_環(huán)球精選
- 尹晶喜現(xiàn)實(shí)結(jié)婚照片(尹晶喜現(xiàn)實(shí)結(jié)婚照) 天天動(dòng)態(tài)
- 貴陽(yáng)郵政:打通大動(dòng)脈 疏通微循環(huán)
- 世界速看:參展商聚浙江義烏:博覽國(guó)際電商熱潮 互換行業(yè)新訊
- 觀焦點(diǎn):一列動(dòng)車(chē)組與貨物列車(chē)“同框”奔馳在線路上
- 《瘋狂梗傳》大雨落下攻略指南
- @休閑旅游船舶經(jīng)營(yíng)者,請(qǐng)及時(shí)備案!
- 數(shù)字孿生的時(shí)代序曲,自主可控GIS在沉淀升華中成韻
- 金融街完成發(fā)行10億元公司債券,票面利率為3.14% 焦點(diǎn)速讀
- 吉鏡頭丨“綠蝸?!绷料嚅L(zhǎng)春54路有軌電車(chē)南陽(yáng)路站
- 《鬼泣-巔峰之戰(zhàn)》2.0全新版本正式定檔7月6日 全球熱頭條
- 英特爾發(fā)布最新量子研究芯片“Tunnel Falls”,加快量子計(jì)算研究和布局
- 當(dāng)前速讀:宸展光電:聘任徐可欣擔(dān)任公司董事會(huì)秘書(shū)
- 激情6月去哪玩?到漳縣來(lái)一場(chǎng)山水邂逅|每日播報(bào)
- 環(huán)球頭條:2023上海端午節(jié)游玩推薦景點(diǎn)有哪些?
- 信用卡現(xiàn)金轉(zhuǎn)出有利息嗎 怎么提前還|每日信息
- 每日視點(diǎn)!中皋置業(yè)搖中亦莊新城X47R1地塊 成交價(jià)79.12億+5.3萬(wàn)㎡現(xiàn)房面積|土拍快訊
- 以海育人,培養(yǎng)具有陸海文明視野的兒童——中國(guó)教育報(bào)第六場(chǎng)名園現(xiàn)場(chǎng)會(huì)在海南省二幼成功舉辦_時(shí)快訊
- 焦點(diǎn)速遞!日本媽媽外出返家,竟發(fā)現(xiàn)女兒床上躺著一名陌生男子
- 快看點(diǎn)丨高盛:維持水滴公司“買(mǎi)入”評(píng)級(jí) 目標(biāo)價(jià)格3.2美元
- 安陽(yáng)紅旗渠機(jī)場(chǎng)飛行程序?qū)嵉仳?yàn)證試飛成功
- 沁水縣氣象局發(fā)布大風(fēng)藍(lán)色預(yù)警【Ⅳ級(jí)/一般】【2023-06-16】 世界通訊
- 今日熱搜:上海市銀行同業(yè)公會(huì)發(fā)布自律公約 強(qiáng)調(diào)不應(yīng)以利率為單一手段爭(zhēng)攬客戶(hù)
- 【環(huán)球聚看點(diǎn)】武磊梅開(kāi)二度,國(guó)足4-0勝緬甸!
- 追問(wèn)|美國(guó)緊急進(jìn)口中國(guó)抗癌藥物,全球藥物短缺如何破解?
- 解剖屎山,尋覓黃金之第二彈
- 天天看熱訊:國(guó)產(chǎn)GPU的第一縷光:自研架構(gòu)“天狼星”在京亮相
- 2023年電子標(biāo)簽產(chǎn)業(yè)深度調(diào)研及發(fā)展趨勢(shì)預(yù)測(cè) 今日?qǐng)?bào)