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