女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

主流的 MCU 開發(fā)語言為什么是 C 而不是 C++?

淘晶馳串口屏 ? 2025-05-21 10:33 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

單片機(jī)的地界兒里,C 語言穩(wěn)坐中軍帳,C++ 想分杯羹?難嘍。咱電子工程師天天跟那針尖大的內(nèi)存空間較勁,C++ 那些花里胡哨的玩意兒,在這兒真玩不轉(zhuǎn)。

先說內(nèi)存這道坎兒。您當(dāng) stm32f4 的 256k RAM、1M ROM 是標(biāo)配?多數(shù)時(shí)候咱打交道的,是 stm8 這種 8k RAM 的 “小矮個(gè)兒”,stm32f1 的 32k RAM 就算是 “小康家庭” 了。就這么丁點(diǎn)兒地方,C 語言打個(gè)轉(zhuǎn)都得縮手縮腳,C++ 帶著類、對(duì)象、虛函數(shù)殺進(jìn)來,光構(gòu)造析構(gòu)的開銷就能把 ROM 啃掉一大塊。您說上實(shí)時(shí)系統(tǒng)?C 語言寫代碼都得掰著字節(jié)算,C++ 的運(yùn)行時(shí)環(huán)境?在這兒純屬 “奢侈品”,就像讓小毛驢拉火車頭,根本不配套。

再聊動(dòng)態(tài)內(nèi)存這事兒。keil 里 stm32f1 的 malloc 默認(rèn)就 800 字節(jié),您想用 C++ 的動(dòng)態(tài)內(nèi)存玩花樣?那些依賴動(dòng)態(tài)內(nèi)存的類,分分鐘把棧撐爆。單片機(jī)開發(fā)講究的是 “把每滴血都榨干”—— 全局變量往 map 文件里一擺,編譯完內(nèi)存占用明明白白,出問題順著寄存器和棧區(qū)就能摸到根兒。C++ 的動(dòng)態(tài)內(nèi)存監(jiān)控庫(kù)?得了吧,那庫(kù)自己先占一塊內(nèi)存,本來就緊張的 RAM 哪經(jīng)得起這么折騰?咱電子工程師沒那么多講究,估摸好內(nèi)存直接定全局變量,爆了內(nèi)存直接扒拉匯編找棧幀,比在 C++ 的內(nèi)存海里撈針痛快多了。

硬件驅(qū)動(dòng)這塊兒,芯片廠壓根沒給 C++“開小灶”。就說 stm32 的 HAL 庫(kù),用句柄模仿類函數(shù),可要是不用 cubemx 自己擼代碼,那層層嵌套的函數(shù)能把人繞暈,改個(gè)驅(qū)動(dòng)能薅掉半頭頭發(fā)。反過來看 C 語言的標(biāo)準(zhǔn)庫(kù),直接把寄存器封裝得明明白白,想改哪兒就改哪兒,對(duì)著芯片手冊(cè)就能硬剛寄存器位。要是發(fā)現(xiàn)廠商把寄存器位置改錯(cuò)了,分分鐘就能揪出來。C++ 想玩硬件級(jí)操作?先穿過類封裝的 “迷宮” 再說,等摸到寄存器,C 語言寫的驅(qū)動(dòng)早跑出老遠(yuǎn)了。

最后說說咱寫代碼的人。沒錯(cuò),咱在純軟大佬眼里就是 “菜”—— 四年大學(xué)就學(xué)了 C 語言和匯編,數(shù)據(jù)結(jié)構(gòu)、算法啥的都是野路子,git、stackoverflow 也不熟,寫的代碼沒少被罵 “屎山”。可您讓那些玩慣高級(jí)語言的來搞單片機(jī),分分鐘在內(nèi)存越界里打轉(zhuǎn)。咱靠的就是對(duì)硬件的死磕勁兒,知道每一行代碼在寄存器里怎么跳,C++ 的優(yōu)雅在這兒不如一句精準(zhǔn)的寄存器操作實(shí)在。您看市面上的 MCU 例程、廠商庫(kù),有幾個(gè)不是 C 語言打底?生態(tài)在這兒擺著,咱犯不著為了好看去折騰那些不實(shí)用的語法糖。

在 MCU 開發(fā)這一畝三分地里,C 語言就像一把趁手的螺絲刀,簡(jiǎn)單、直接、高效,每一行代碼都能釘在該釘?shù)牡胤剑籆++ 則像一把雕花匕首,好看是好看,可在這兒施展不開。咱追求的不是代碼多漂亮,而是讓那幾 k 的 RAM 和幾十 k 的 ROM 實(shí)實(shí)在在跑起來,不出錯(cuò)、好調(diào)試、能落地 —— 就這點(diǎn)兒實(shí)在需求,C 語言足夠漂亮地把活兒干完,何必去夠那夠不著的月亮呢?

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17950

    瀏覽量

    363850
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7631

    瀏覽量

    141352
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    是否應(yīng)該使用C++替代C語言進(jìn)行開發(fā)工作

    軟件是用C語言編寫的。然而,C++已經(jīng)逐漸普及,大約23%的新嵌入式軟件項(xiàng)目都是用C++編寫的。C語言
    發(fā)表于 11-05 09:00

    C語言C++運(yùn)用

    識(shí)別等領(lǐng)域得到了進(jìn)一步的推動(dòng)和發(fā)展。嵌入式開發(fā)為什么用C語言?我們都知道,嵌入式開發(fā)要用C語言
    發(fā)表于 11-25 10:47

    是否應(yīng)該使用C++替代C語言進(jìn)行開發(fā)工作

    ,56%的嵌入式軟件是用C語言編寫的。然而,C++已經(jīng)逐漸普及,大約23%的新嵌入式軟件項(xiàng)目都是用C++編寫的。C
    發(fā)表于 12-15 07:31

    c++程序設(shè)計(jì)語言題解

    c++程序設(shè)計(jì)語言題解是與Bjarne Stroustrup的《C++程序設(shè)計(jì)語言》一書配套使用的習(xí)題解答,為從《C++程序設(shè)計(jì)
    發(fā)表于 09-05 16:00 ?121次下載
    <b class='flag-5'>c++</b>程序設(shè)計(jì)<b class='flag-5'>語言</b>題解

    CC++語言參考手冊(cè)

    CC++語言參考手冊(cè)
    發(fā)表于 06-19 11:12 ?23次下載

    c++c語言之間有什么區(qū)別

    C++是在C語言的基礎(chǔ)上發(fā)展來的,但是并不是C++C語言
    發(fā)表于 12-11 10:17 ?3.2w次閱讀

    C/C++編程語言學(xué)習(xí)難點(diǎn)及語言

    一般學(xué)C++前都要學(xué)C,所以通常叫它們C/C++C/C++歷經(jīng)40余年,也是經(jīng)久不衰的號(hào)稱“永
    發(fā)表于 08-15 10:24 ?2422次閱讀

    C語言C++相互調(diào)用

    ? ? 1CC++相互調(diào)用 在一個(gè)嵌入式系統(tǒng)中大部分的底層和驅(qū)動(dòng)層更多的是采用C語言來進(jìn)行開發(fā)
    的頭像 發(fā)表于 01-18 11:05 ?3623次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>與<b class='flag-5'>C++</b>相互調(diào)用

    嵌入式程序開發(fā)C語言C++究竟應(yīng)該用哪個(gè)?

    在嵌入式軟件程序開發(fā)中,C語言無疑是最常被使用的程序語言。不過應(yīng)該明白的是,有些嵌入式硬件同時(shí)提供C語言
    發(fā)表于 11-03 14:21 ?60次下載
    嵌入式程序<b class='flag-5'>開發(fā)</b>,<b class='flag-5'>C</b><b class='flag-5'>語言</b>和<b class='flag-5'>C++</b>究竟應(yīng)該用哪個(gè)?

    C++語言的發(fā)展

    今年的CPP North C++大會(huì)上,谷歌宣布了一門新的編程語言Carbon,并稱其將是“C++的繼任者”。
    發(fā)表于 08-15 14:22 ?774次閱讀

    C語言不是最好的,卻是我最愛的

    雖然 C 語言不是我所學(xué)的第一門語言,也不是我的最后一門語言,但是我仍然非常喜歡
    發(fā)表于 11-24 09:47 ?627次閱讀

    淺談C語言C++的前世今生

    C++開發(fā)人員將有這些問題歸咎于CC開發(fā)人員則認(rèn)為C++
    發(fā)表于 05-26 09:27 ?667次閱讀
    淺談<b class='flag-5'>C</b><b class='flag-5'>語言</b>與<b class='flag-5'>C++</b>的前世今生

    C語言C++的區(qū)別看法

    編寫了自己的業(yè)務(wù)愛好項(xiàng)目。那么,為什么我沒有拋棄 C 選擇其他語言呢?我對(duì)于 C++的看法又是如何的呢? 1 為什么說C
    的頭像 發(fā)表于 07-06 14:29 ?1335次閱讀

    vb語言c++語言的區(qū)別

    Microsoft開發(fā)的一種面向?qū)ο蟮氖录?qū)動(dòng)編程語言。它的設(shè)計(jì)目標(biāo)是簡(jiǎn)化編程過程,讓初學(xué)者也能快速上手。與之相比,C++語言是一種通用的、面向?qū)ο蟮木幊?/div>
    的頭像 發(fā)表于 02-01 10:20 ?3301次閱讀

    c語言,c++,java,python區(qū)別

    C語言C++、Java和Python是四種常見的編程語言,各有優(yōu)點(diǎn)和特點(diǎn)。 C語言
    的頭像 發(fā)表于 02-05 14:11 ?3211次閱讀
    主站蜘蛛池模板: 太康县| 会东县| 延津县| 尚志市| 金乡县| 喀喇沁旗| 台北市| 雅安市| 方山县| 师宗县| 上杭县| 马山县| 鸡西市| 定襄县| 巴彦淖尔市| 柳州市| 胶南市| 高青县| 马尔康县| 蒲江县| 龙门县| 沐川县| 襄樊市| 凌源市| 阜新| 巧家县| 城口县| 吕梁市| 旌德县| 兰西县| 台北市| 正阳县| 锦州市| 八宿县| 宁远县| 宁海县| 平果县| 岢岚县| 仙桃市| 弥勒县| 聂拉木县|