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

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

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

C 語言的下一個(gè) ISO標(biāo)準(zhǔn)將會是 C2x ?

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 作者:黃工的嵌入式技術(shù) ? 2020-02-27 16:40 ? 次閱讀

前不久分享了關(guān)于C語言的文章:C語言依然位居榜單前列,依然值得程序員學(xué)習(xí)。 一直覺得C語言是“神”一樣的編程語言,這么多年可以穩(wěn)穩(wěn)的排在前列(當(dāng)然,能排上名,自然有它的道理)。 一、前言之前,《現(xiàn)代C》的作者Jens Gustedt透露,C委員會現(xiàn)已開始構(gòu)建下一個(gè)C標(biāo)準(zhǔn)的真正修訂版,被稱為“C2x”。其中“x”應(yīng)該代表新標(biāo)準(zhǔn)出現(xiàn)的年份數(shù)字,預(yù)計(jì)將于 2022 年完成的 C2x 標(biāo)準(zhǔn)。 同時(shí),Gustedt還透露:我們會定期發(fā)布工作草案,其中包括目前已添加的更改。除了C17這是一個(gè)純粹的bug修復(fù)版本,這樣的工作文件引入了規(guī)范性的變化并且是公開的。 其中,整理了一些草案:

其中,提到其目的是促進(jìn)可移植性、可靠性、可維護(hù)性等。 草案具體內(nèi)容,可以參看Gustedt的博客:

https://gustedt.wordpress.com/2018/11/12/c2x


二、即將推出的C2x主要目標(biāo)是什么?

Gustedt回答:

新 C 標(biāo)準(zhǔn)的制定主要是為了完善一些目標(biāo)。

關(guān)鍵點(diǎn)是這個(gè)標(biāo)準(zhǔn)旨在描述現(xiàn)有的實(shí)踐,而不是發(fā)明本身。只要有可能,發(fā)明應(yīng)該在現(xiàn)有的 C 編譯器中進(jìn)行,或者來自其他編程語言(事實(shí)上主要是 C++)。

也就是說,還有很多工作將清理現(xiàn)有的特性,追求語義上的模糊性,并添加可能有助于日常編碼的小特性。

三、語言方面的變化有哪些是值得我們期待的?

Gustedt回答:

在語言和庫級別,程序員直接可見的部分目前還沒有太多定論。我的期望是我們將看到一些集成到 C 中的 C++ 特性,例如屬性、以某種形式編譯所有數(shù)據(jù)類型的時(shí)間常量,以及初始化類型(也就是 C++ 的 auto feature)。

此外,還有一個(gè) C++ 的協(xié)調(diào)計(jì)劃,用于新的調(diào)用約定,它可以取代我們從一開始就一直在使用的錯(cuò)誤碼返回約定。

但是 C 標(biāo)準(zhǔn)還有另一個(gè)重要的作用,因?yàn)樗旧蠟槲覀兊挠?jì)算機(jī)架構(gòu)和其他編程語言構(gòu)建設(shè)置了機(jī)器模型。C 標(biāo)準(zhǔn)將其稱為“抽象狀態(tài)機(jī)”。作為一個(gè)重要的特性,我們已經(jīng)投票將最新的 IEEE 浮點(diǎn)規(guī)范集成到 C 標(biāo)準(zhǔn)中。

我們還組建了一個(gè)工作組來修改“內(nèi)存模型”,事關(guān)程序員可能會或者可能不會直接與計(jì)算機(jī)內(nèi)存中數(shù)據(jù)裸表示交互、這可能將如何影響一些可能的優(yōu)化以及這種字節(jié)和位的調(diào)整將如何變得安全可靠。

這項(xiàng)工作遵循的是 Peter Sewell(等人)關(guān)于“指針來源”的論文,我們希望我們最終得到的內(nèi)存模型可以廣泛適用于 C 系統(tǒng)軟件和應(yīng)用程序的多樣性。


四、C 特別擅長的用途和應(yīng)用領(lǐng)域?Gustedt回答:C 最大的優(yōu)點(diǎn)是效率、可移植性和穩(wěn)定性。只要這些是軟件開發(fā)當(dāng)中存在的主要問題,那么 C 就應(yīng)該被視為首選語言。 本文參考:

https://www.infoq.cn/article/lG_76LvIfjol2V3lUHl5

參考Gustedt的博客:

https://gustedt.wordpress.com/2018/11/12/c2x

可以看得出來,C語言還在大力發(fā)展,附上一張2019年8月,最新 TIOBE 編程語言排行榜(C語言僅次于JAVA):

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

    關(guān)注

    180

    文章

    7581

    瀏覽量

    135553
  • ISO
    ISO
    +關(guān)注

    關(guān)注

    0

    文章

    252

    瀏覽量

    39509
  • C2xx
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    6517
收藏 人收藏

    評論

    相關(guān)推薦

    ISO7230C-Q1和ISO7231C-Q1三通道 2/1 25Mbps數(shù)字隔離器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《ISO7230C-Q1和ISO7231C-Q1三通道 2/1 25Mbps數(shù)字隔離器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-20 11:05 ?0次下載
    <b class='flag-5'>ISO7230C</b>-Q1和<b class='flag-5'>ISO7231C</b>-Q1三通道 <b class='flag-5'>2</b>/1 25Mbps數(shù)字隔離器數(shù)據(jù)表

    ISO154x低功耗雙向I2C隔離器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《ISO154x低功耗雙向I2C隔離器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-19 11:35 ?0次下載
    <b class='flag-5'>ISO154x</b>低功耗雙向I<b class='flag-5'>2C</b>隔離器數(shù)據(jù)表

    ISO154x-Q1低功耗雙向I2C隔離器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《ISO154x-Q1低功耗雙向I2C隔離器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-19 11:33 ?0次下載
    <b class='flag-5'>ISO154x</b>-Q1低功耗雙向I<b class='flag-5'>2C</b>隔離器數(shù)據(jù)表

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

    C語言、C++、Java和Python是四種常見的編程語言,各有優(yōu)點(diǎn)和特點(diǎn)。 C語言
    的頭像 發(fā)表于 02-05 14:11 ?1633次閱讀

    C++簡史:C++是如何開始的

    MISRA C++:2023,MISRA? C++ 標(biāo)準(zhǔn)下一個(gè)版本,來了!為了幫助您做好準(zhǔn)備,我們介紹了 Perforce 首席技術(shù)支持工程師 Frank van den Beuke
    的頭像 發(fā)表于 01-11 09:00 ?485次閱讀
    <b class='flag-5'>C</b>++簡史:<b class='flag-5'>C</b>++是如何開始的

    C語言C++中那些不同的地方

    C語言雖說經(jīng)常和C++在起被大家提起,但可千萬不要以為它們是個(gè)東西。現(xiàn)在我們常用的
    的頭像 發(fā)表于 12-07 14:29 ?850次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>和<b class='flag-5'>C</b>++中那些不同的地方

    晶體管的下一個(gè)25年

    晶體管的下一個(gè)25年
    的頭像 發(fā)表于 11-27 17:08 ?566次閱讀
    晶體管的<b class='flag-5'>下一個(gè)</b>25年

    C語言運(yùn)行環(huán)境是什么

    C語言運(yùn)行環(huán)境(C language runtime environment)是指在執(zhí)行C語言程序時(shí)所需的軟件及硬件環(huán)境。
    的頭像 發(fā)表于 11-27 16:13 ?3142次閱讀

    如何選擇創(chuàng)建c語言c++

    ++ 的詳盡、詳實(shí)、細(xì)致的討論。 C 語言的特點(diǎn)和優(yōu)勢: C 語言種過程性的編程語言,它注重
    的頭像 發(fā)表于 11-27 15:58 ?527次閱讀

    scanf在C語言中的作用

    scanf在C語言中的作用? scanf是C語言中的輸入函數(shù),用于從標(biāo)準(zhǔn)輸入設(shè)備(如鍵盤)讀取數(shù)據(jù),并將其存儲到變量中。它是
    的頭像 發(fā)表于 11-23 14:13 ?1146次閱讀

    USB連接MCU的:哪個(gè)更適合你的下一個(gè)設(shè)計(jì)?

    下一個(gè)設(shè)計(jì)的實(shí)現(xiàn)驚訝。本文將介紹些差異化的USB功能,你會發(fā)現(xiàn),在流行的MCU系列。旦你了解些關(guān)鍵的不同,你可以更好地尋找,將提供完美的適合你的
    的頭像 發(fā)表于 11-03 16:17 ?801次閱讀

    下一個(gè)十年誰會是智能手機(jī)戰(zhàn)場上的核芯

    電子發(fā)燒友網(wǎng)站提供《下一個(gè)十年誰會是智能手機(jī)戰(zhàn)場上的核芯.doc》資料免費(fèi)下載
    發(fā)表于 11-03 10:35 ?0次下載
    <b class='flag-5'>下一個(gè)</b>十年誰<b class='flag-5'>會是</b>智能手機(jī)戰(zhàn)場上的核芯

    如何綁架C語言標(biāo)準(zhǔn)庫函數(shù)?

    C語言動態(tài)內(nèi)存可以使用 malloc 標(biāo)準(zhǔn)庫函數(shù),而 C++ 會使用 new 關(guān)鍵字申請,裸機(jī)情況下一般沒有問題,但是在 RTOS 情況下,
    發(fā)表于 11-01 09:50 ?409次閱讀

    如何綁架C語言標(biāo)準(zhǔn)庫函數(shù)?

    C語言動態(tài)內(nèi)存可以使用 malloc 標(biāo)準(zhǔn)庫函數(shù),而 C++ 會使用 new 關(guān)鍵字申請,裸機(jī)情況下一般沒有問題,但是在 RTOS 情況下,
    發(fā)表于 11-01 09:50 ?300次閱讀

    介紹個(gè)C語言編寫的硬件外設(shè)訪問庫

    今天要介紹的開源軟件叫 c-periphery,個(gè)C 語言編寫的硬件外設(shè)訪問庫。
    的頭像 發(fā)表于 10-26 10:36 ?1062次閱讀
    介紹<b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>用<b class='flag-5'>C</b><b class='flag-5'>語言</b>編寫的硬件外設(shè)訪問庫