全球速讀:嵌入式C開(kāi)發(fā)VS嵌入式CPP開(kāi)發(fā)!
這是知乎嵌入式領(lǐng)域的一個(gè)熱門(mé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的混合編程,而界面的話使用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的推廣困難,也有著類似的理由,此外在加上調(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ī)療,工控,車載導(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è)界,特別是嵌入式類應(yīng)用來(lái)說(shuō),只使用STL封裝的vector,map以及算法等方便開(kāi)發(fā),封裝些模板函數(shù)或者類幫助復(fù)用,很多時(shí)候C++11的新特性都用不全,說(shuō)困難就有點(diǎn)夸大其詞了。
工業(yè)界的難點(diǎn)永遠(yuǎn)是如何把產(chǎn)品的需求轉(zhuǎn)換成具體的任務(wù)分解(滿足性能,成本和功能的平衡,同時(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)成的,可是了體積大,依賴多,對(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)簽:
搶先讀
- 最新:視頻丨角逐!第一屆山東省職業(yè)技能大賽火熱進(jìn)行中
- 2020年福特野馬謝爾比GT500的引擎被嘲笑_世界短訊
- 天天即時(shí):第十五屆海峽論壇準(zhǔn)備就緒 邀請(qǐng)臺(tái)灣嘉賓5000余人
- 【精彩哈洽】道里閆家崗“俄式乳瓜”亮相哈洽會(huì)_精彩看點(diǎn)
- 2020年保時(shí)捷911配置器現(xiàn)已上線
- 最新!比爾蓋茨回復(fù)黃曉明_全球觀焦點(diǎn)
- 世界報(bào)道:丁程鑫是什么星座(丁程鑫身高體重星座)
- 【環(huán)球播資訊】深圳市人民政府與寧德時(shí)代簽署戰(zhàn)略合作框架協(xié)議
- 青島追風(fēng)少年足球俱樂(lè)部將出征2023中冠聯(lián)賽_世界獨(dú)家
- 全球視點(diǎn)!高考考生們,這些“套路”騙局要當(dāng)心
- 焦點(diǎn)快報(bào)!關(guān)于red的英語(yǔ)短語(yǔ) ,有關(guān)red顏色的英語(yǔ)俚語(yǔ)詞組表達(dá),漲知識(shí)了!
- 天津市寶坻區(qū)發(fā)布高溫紅色預(yù)警
- 廣交朋友,蘇寧還不想認(rèn)命
- @休閑旅游船舶經(jīng)營(yíng)者,請(qǐng)及時(shí)備案!_天天報(bào)道
- 今年1月-4月 廈門(mén)市新增減稅降費(fèi)及退稅緩費(fèi)29.41億元
- 全球視點(diǎn)!上海昇思AI框架&大模型創(chuàng)新中心正式啟動(dòng) 云從科技等首批22家單位入駐
- 鐵路上海站端午小長(zhǎng)假預(yù)計(jì)發(fā)送旅客209萬(wàn)人次,6月22日將迎來(lái)客流最高峰
- 市場(chǎng)監(jiān)管總局通報(bào)今年粽子專項(xiàng)抽檢情況_世界時(shí)訊
- 蘇翊鳴獲得清華大學(xué)保送資格 本人和清華回應(yīng) 頭條
- 華懋科技: 關(guān)于向不特定對(duì)象發(fā)行可轉(zhuǎn)換公司債券申請(qǐng)獲得上海證券交易所上市審核委員會(huì)審議通過(guò)的公告_環(huán)球熱聞
- 焦點(diǎn)熱議:中國(guó)連鎖百?gòu)?qiáng)出爐,山東11家企業(yè)上榜
- 曼晚:帕爾默不在曼城新賽季計(jì)劃中,但球隊(duì)今夏不會(huì)出售他
- 重卡級(jí)150kW大功率 北京亦莊氫能產(chǎn)業(yè)實(shí)現(xiàn)新突破|全球熱消息
- 美捷匯控股(01389)公布年度業(yè)績(jī) 凈虧損1659.4萬(wàn)港元 同比增長(zhǎng)90.43%
- 智慧交通多場(chǎng)景加速落地 世界播資訊
- 金水區(qū)衛(wèi)健委開(kāi)展職業(yè)健康宣講活動(dòng)-全球速遞
- 焦點(diǎn)關(guān)注:樓道雜物被居委清理 訴至法院索賠 法院:不支持
- 滴滴猛烈擴(kuò)張:租車全國(guó)300城上線 接入攜程 哈啰 飛豬等租車意欲何為?_前沿資訊
- 阿根廷隊(duì)飛機(jī)將在7小時(shí)后到達(dá)雅加達(dá),球隊(duì)6月19日與印尼隊(duì)熱身
- 環(huán)球即時(shí):零陵:“文物+”讓“寶藏”煥發(fā)光彩
- 微資訊!一周透市:降息接連落地,反彈背后內(nèi)外資釋放多重積極信號(hào),CPO屠榜牛股TOP10,4只退市股集體暴跌逾7成
- 鞏義市北山口鎮(zhèn)開(kāi)展防范非法集資宣講進(jìn)企業(yè)活動(dòng)
- 每日速訊:高德面向汽車行業(yè)發(fā)布HQ Live MAP 預(yù)計(jì)12月份開(kāi)放合作
- 美國(guó)一座島突現(xiàn)數(shù)百萬(wàn)毛毛蟲(chóng) 畫(huà)面曝光:蟲(chóng)子掛滿枝頭 掉落時(shí)像下雨
- 【全球熱聞】大連重工:預(yù)計(jì)2023年半年度盈利2.00億至2.30億 凈利潤(rùn)同比增長(zhǎng)21.49%至39.72%
- 安徽省蚌埠市市場(chǎng)監(jiān)督管理局公布粽子等端午節(jié)令食品專項(xiàng)監(jiān)督抽檢信息 環(huán)球熱門(mén)
- 炸沙丁魚(yú)干粉好還是濕粉好?
- 沙門(mén)氏菌感染高峰期將至,重點(diǎn)關(guān)注一老一小“兩頭人群” 速遞
- 安陽(yáng)紅旗渠機(jī)場(chǎng)飛行程序?qū)嵉仳?yàn)證試飛成功
- 【快播報(bào)】新民市氣象局發(fā)布高溫黃色預(yù)警【Ⅲ級(jí)/較重】【2023-06-16】
- 環(huán)球熱議:賞蘭花、摘蜜桃 武漢軍山街“暖心游”讓失獨(dú)家庭不失愛(ài)
- 世界快看:簽約家庭醫(yī)生 打通醫(yī)療服務(wù)最后一公里
- 當(dāng)前關(guān)注:五部門(mén):探索完善農(nóng)村產(chǎn)權(quán)確權(quán)頒證、抵押登記、流轉(zhuǎn)交易、評(píng)估處置機(jī)制
- 2023年湖南省退休工資上調(diào)最新消息公布時(shí)間 湖南2023退休金每月能漲多少錢(qián)
- 全球報(bào)道:全球第二次記錄!我市拍到“頂級(jí)獵手”亞洲金貓進(jìn)食畫(huà)面
- 高質(zhì)量發(fā)展調(diào)研行|守住“老字號(hào)” 開(kāi)拓“新賽道”——佛山推動(dòng)制造業(yè)量、質(zhì)雙升
- 最新消息:被控受賄3078萬(wàn)余元,國(guó)開(kāi)證券原總裁侯紹澤當(dāng)庭認(rèn)罪悔罪
- 北交所個(gè)股研究系列報(bào)告:專注線纜領(lǐng)域,以兩網(wǎng)市場(chǎng)為主-熱聞
- 圖說(shuō)丨“小野鴨”主干道上奔跑,民警追趕抓住放歸自然
- 云州區(qū)氣象臺(tái)發(fā)布大風(fēng)藍(lán)色預(yù)警【Ⅳ級(jí)/一般】【2023-06-16】
- 當(dāng)前快訊:八部門(mén)“力挺”職業(yè)教育(附概念股)
- 物理所揭示細(xì)胞程序性壞死執(zhí)行蛋白MLKL插膜過(guò)程的構(gòu)象轉(zhuǎn)變
- 抵住眼前利益誘惑!山東這座縣級(jí)小城孕育生物醫(yī)藥大產(chǎn)業(yè)
- 全球快報(bào):青島啤酒股份(00168)將于8月11日派發(fā)末期特別股息每股0.5元
- 董慕(關(guān)于董慕的簡(jiǎn)介)
- 每日看點(diǎn)!三河市氣象臺(tái)更新高溫橙色預(yù)警【Ⅱ級(jí)/嚴(yán)重】【2023-06-16】
- 環(huán)球報(bào)道:丁橋47600元/㎡,浦沿卻降了1000元/㎡!剛剛,杭州最新限價(jià)出爐
- 2023臺(tái)州三門(mén)縣中學(xué)學(xué)區(qū)劃分范圍
- 2023西昌涼山火把節(jié)精品旅游線路推薦-聚焦
- 減肥吃什么瘦得快中藥(減肥吃什么瘦得快)
- 安徽屯溪:“文化+產(chǎn)業(yè)”“業(yè)態(tài)+體驗(yàn)”推進(jìn)美麗鄉(xiāng)村建設(shè)-天天觀焦點(diǎn)
- 當(dāng)前觀察:“安心賠”再升級(jí)!螞蟻保聯(lián)合人保健康上線行業(yè)首個(gè)“復(fù)診簡(jiǎn)化理賠”服務(wù)
- 方舟投資:AR設(shè)備尚難被大眾接受,預(yù)計(jì)蘋(píng)果Vision Pro第一年銷量不達(dá)標(biāo) 快播報(bào)
- 方大炭素(600516.SH)控股子公司成都炭材定增申請(qǐng)獲股轉(zhuǎn)公司受理_焦點(diǎn)觀察
- 2023濟(jì)寧中考成績(jī)什么時(shí)候出來(lái) 天天觀點(diǎn)
- 熱點(diǎn)在線丨硬核科技論 | 終于加上激光雷達(dá) 全新蔚來(lái)ES6黑科技升級(jí)盤(pán)點(diǎn)
- 余仁杰:奮斗創(chuàng)造歷史 實(shí)干成就未來(lái)
- 南京市公安局一級(jí)高級(jí)警長(zhǎng)蔣浩接受審查調(diào)查 全球今熱點(diǎn)
- 財(cái)政部:1-5月全國(guó)稅收收入84774億元 同比增長(zhǎng)17%-環(huán)球資訊
- 人民財(cái)評(píng):構(gòu)建職業(yè)教育與產(chǎn)業(yè)發(fā)展相融互促的良好格局 前沿?zé)狳c(diǎn)
- “滬上清明上河圖”蘇河灣的產(chǎn)業(yè)創(chuàng)新-環(huán)球快看點(diǎn)
- 全場(chǎng)景戶用綠能系統(tǒng)帶來(lái)家儲(chǔ)新能源革命 華寶新能旗下Geneverse首秀歐洲智慧能源展_全球聚焦
- 微資訊!讓青少年陽(yáng)光“沖浪”!上海公安網(wǎng)安部門(mén)推出四項(xiàng)舉措→
- 華海清科: 2022年年度權(quán)益分派實(shí)施公告-環(huán)球熱頭條
- “這麥子地毯,比什么裝修都好看!” 環(huán)球熱資訊
- 環(huán)球熱頭條丨端午假期青島景區(qū)要預(yù)約嗎
- 蘇新服務(wù)擬招標(biāo)出售蘇州匯融商旅公司股權(quán)|環(huán)球熱點(diǎn)評(píng)
- 勐??h氣象臺(tái)發(fā)布雷電黃色預(yù)警信號(hào)【Ⅲ級(jí)/較重】【2023-06-16】
- 赤水河畔的茅臺(tái)鎮(zhèn)也來(lái)參加淘寶天貓618了_每日看點(diǎn)
- 看龍江謀發(fā)展丨2023全國(guó)重點(diǎn)網(wǎng)絡(luò)媒體黑龍江采風(fēng)活動(dòng)走進(jìn)黑龍江東北虎林園 全球今日?qǐng)?bào)
- 當(dāng)前速遞!隆安縣舉行2023年“安全生產(chǎn)月”現(xiàn)場(chǎng)咨詢?nèi)栈顒?dòng)
- 股票行情快報(bào):洪匯新材(002802)6月16日主力資金凈賣出67.49萬(wàn)元
- 北京市西城區(qū)人民檢察院依法對(duì)犯罪嫌疑人孫某某等9人批準(zhǔn)逮捕
- 報(bào)道:貴州主要城市天氣預(yù)報(bào)
- 北京連續(xù)11年開(kāi)展防范非法集資宣傳月活動(dòng) 全球要聞
- 天氣熱得越來(lái)越早是為什么?氣象專家解讀
- 世界新動(dòng)態(tài):獨(dú)角獸企業(yè)什么意思? 成為獨(dú)角獸企業(yè)有什么特征?
- 環(huán)球熱訊:安陽(yáng)紅旗渠機(jī)場(chǎng)試飛成功,距離投運(yùn)更進(jìn)一步
- 云器科技完成數(shù)億元融資,多名創(chuàng)始人曾任職阿里巴巴|最新資訊
- 甘肅隴西縣總工會(huì):“1+17+N”構(gòu)建新時(shí)代職工書(shū)屋矩陣
- 重慶巫溪“文旅+科技”融入巴蜀文旅走廊建設(shè)
- 天門(mén)公安7天抓獲5名在逃人員 全球關(guān)注
- 遼寧省藥品監(jiān)督管理局注銷1家公司《藥品營(yíng)許可證》 觀察
- 新烽光電啟動(dòng)IPO輔導(dǎo),解決方案應(yīng)用于智慧排水、智慧供水等 當(dāng)前熱門(mén)
- 環(huán)球快看點(diǎn)丨長(zhǎng)沙小升初派位公辦優(yōu)先還是民辦優(yōu)先怎么填
- 上街區(qū)濟(jì)源路街道:多點(diǎn)發(fā)力 全面筑牢轄區(qū)安全防線
- “春雨潤(rùn)苗”送新政服務(wù)小微促發(fā)展_獨(dú)家焦點(diǎn)
- 新任國(guó)防部新聞發(fā)言人張曉剛亮相
- 全球最新:我們是跟商家合作完成點(diǎn)擊量、充值量、從而提高熱度
- 鄒平市行政審批服務(wù)局“郵寄辦”助力文化牽手 信息