chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

將curl使用的C語(yǔ)言標(biāo)準(zhǔn)從C89升級(jí)到C99?

CPP開(kāi)發(fā)者 ? 來(lái)源:OSC開(kāi)源社區(qū) ? 作者:OSC開(kāi)源社區(qū) ? 2022-11-22 14:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

curl 創(chuàng)始人兼核心開(kāi)發(fā)者 Daniel Stenberg發(fā)表博客稱,他正在考慮是否要將 curl 使用的 C 語(yǔ)言標(biāo)準(zhǔn)從 C89 升級(jí)到 C99。77cd3b1c-6a19-11ed-8abf-dac502259ad0.pngDaniel 表示,他觀察到許多廣受歡迎的 C 語(yǔ)言開(kāi)源項(xiàng)目正在向前發(fā)展,并將所使用的 C 語(yǔ)言標(biāo)準(zhǔn)升級(jí)到 C99 或更高版本,例如 Linux、Git 等項(xiàng)目。而且在 curl 的郵件列表中也經(jīng)常出現(xiàn)關(guān)于升級(jí) C 語(yǔ)言標(biāo)準(zhǔn)的討論,特別是現(xiàn)在已計(jì)劃在 2023 年春季發(fā)布 curl v8,所以從理論上來(lái)講,這可能是進(jìn)行一些更改的好時(shí)機(jī)。如果要升級(jí) C 語(yǔ)言標(biāo)準(zhǔn)到 C99,那就要考慮哪些 C99 特性可以改進(jìn)像 curl 這樣的項(xiàng)目。Daniel 表示自己能想到的可能給 curl 代碼帶來(lái)積極影響的部分特性是:
  • //注釋

  • __func__預(yù)定義標(biāo)識(shí)符

  • 中使用布爾類型

  • 指定的結(jié)構(gòu)體初始值設(shè)定項(xiàng)
    空的宏參數(shù)

  • 中使用擴(kuò)展的整數(shù)類型

  • 靈活的數(shù)組成員 (zero size arrays)

  • 內(nèi)聯(lián)函數(shù)

  • 整數(shù)常量類型規(guī)則

  • 將聲明和代碼混合

  • long long類型和庫(kù)函數(shù)

  • snprintf()函數(shù)家族

  • 枚舉聲明中支持尾隨逗號(hào)

  • 可變參數(shù)宏

  • 長(zhǎng)度可變的數(shù)組

當(dāng)然,開(kāi)發(fā)者還可以使用許多其他的特性,但問(wèn)題是他們是否真的需要這些特性。而且對(duì)于上面提到的部分特性,Daniel 表示他們已經(jīng)有了不錯(cuò)的替代方案,其他的特性要么就是無(wú)關(guān)緊要,要么就是可能會(huì)讓人分心。因此,Daniel 認(rèn)為,如果馬上為 curl 項(xiàng)目采用 C99 所有新特性,這會(huì)導(dǎo)致重寫(xiě)大部分代碼,從而引入錯(cuò)誤。此外還有一個(gè)問(wèn)題,如果真的要升級(jí) C 語(yǔ)言標(biāo)準(zhǔn),是否應(yīng)該直接升級(jí)到 C11,而不是停留在 C99在 curl 社區(qū)對(duì)于升級(jí) C 語(yǔ)言標(biāo)準(zhǔn)的討論中,沒(méi)有人能清楚地闡明升級(jí)之后能給 curl 項(xiàng)目帶來(lái)的好處。Daniel 表示他們目前看到的風(fēng)險(xiǎn)是,大家都陷入了與項(xiàng)目非常不相關(guān)的討論和變化中,而這些討論和變化實(shí)際上可能不會(huì)使項(xiàng)目取得很大進(jìn)展。無(wú)論是功能還是質(zhì)量 / 安全性。Daniel 認(rèn)為還有很多更好的事情要做,還有更多值得付出的努力來(lái)投入精力,這實(shí)際上可以改進(jìn)項(xiàng)目并將其推進(jìn)。比如改進(jìn)測(cè)試套件、增加測(cè)試覆蓋率、確保更多代碼由模糊器執(zhí)行。Daniel決定從 curl 8 開(kāi)始,他們將要求編譯器支持 64 位數(shù)據(jù)類型,主要是為了查看它的運(yùn)行情況。這不是原來(lái)的 C89 版本中存在的特性,而是在 C99 中引入的。目前沒(méi)有不支持此功能的現(xiàn)代編譯器。他認(rèn)為,這也許是可以繼續(xù)適應(yīng)和使用特定的 “后 C89 特性” 的方式。通過(guò)挑選特定的特性,然后隨著時(shí)間的推移慢慢適應(yīng)它們。最后,Daniel 表示不考慮使用任何其他語(yǔ)言重寫(xiě) curl。

此外,curl 作者表示不想推出 7.100,為此制定了 curl 8 發(fā)布計(jì)劃。curl 7 的版本號(hào)已迭代到7.86.0—— 離發(fā)布 7.100.0 只差十多個(gè)版本,但 curl 作者 Daniel Stenberg不希望在次版本號(hào)中使用三位數(shù),因?yàn)樗麚?dān)心這會(huì)引發(fā)不必要的問(wèn)題,甚至可能會(huì)導(dǎo)致他人用于比較版本的腳本出錯(cuò)。由于 curl 通常每隔 8 周發(fā)布一次新版本,如果按照計(jì)劃的發(fā)布節(jié)奏,curl 7 的次版本號(hào)差不多在兩年后就會(huì)到達(dá) 100。Daniel 發(fā)現(xiàn)明年是 curl 的一個(gè)重要周年紀(jì)念日,他想到了一個(gè)可以避免 "100" 版本號(hào)的方案 ——在 curl 誕生 25 周年當(dāng)天發(fā)布 curl 8。如此一來(lái),既凸顯了周年紀(jì)念日的地位,又體現(xiàn)了升級(jí)主版本號(hào)的意義,更是直接避開(kāi)了 "100" 版本號(hào)??芍^是一步到位地實(shí)現(xiàn)了 “既要又要還要” 的需求。 因此,在 2023 年 3 月 20 日,curl 25 歲生日當(dāng)天,Daniel 將會(huì)正式發(fā)布 curl 8.0.0。這將會(huì)是 curl 23 年來(lái)首次升級(jí)主版本號(hào)。不過(guò)正如上文所解釋,此次升級(jí)主版本號(hào)與功能變化無(wú)關(guān),也不會(huì)進(jìn)行特別的慶祝??偠灾?,這個(gè)升級(jí)和常規(guī)的并無(wú)二致,只是重置了次版本號(hào),并升級(jí)主版本號(hào)。在常規(guī)的 curl 發(fā)布周期中,通常是是每隔 8 周在周三發(fā)布一次新版本。然而 2023 年 3 月 20 日是星期一。因此,curl 8.0.0 的發(fā)布時(shí)間會(huì)有所調(diào)整,curl 作者計(jì)劃在發(fā)布 curl 8 之后再調(diào)整回常規(guī)的發(fā)布時(shí)間。 審核編輯 :李倩


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

    關(guān)注

    183

    文章

    7643

    瀏覽量

    145238
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4959

    瀏覽量

    73584

原文標(biāo)題:curl 作者:不考慮其他語(yǔ)言重構(gòu),計(jì)劃升級(jí) C 語(yǔ)言標(biāo)準(zhǔn)、明年發(fā)布 curl 8

文章出處:【微信號(hào):CPP開(kāi)發(fā)者,微信公眾號(hào):CPP開(kāi)發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    C語(yǔ)言安全編碼指南:MISRA C、CERT C、CWE 與 C Secure 標(biāo)準(zhǔn)對(duì)比與Perforce QAC應(yīng)用詳解

    如何編寫(xiě)真正安全的C語(yǔ)言代碼?指南涵蓋MISRA C、CERT、CWE等國(guó)際安全編碼標(biāo)準(zhǔn)對(duì)比,以及如何借助Perforce QAC自動(dòng)檢測(cè)漏洞。推薦給嵌入式/汽車/工業(yè)軟件的開(kāi)發(fā)者!
    的頭像 發(fā)表于 01-26 17:38 ?542次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>安全編碼指南:MISRA <b class='flag-5'>C</b>、CERT <b class='flag-5'>C</b>、CWE 與 <b class='flag-5'>C</b> Secure <b class='flag-5'>標(biāo)準(zhǔn)</b>對(duì)比與Perforce QAC應(yīng)用詳解

    C語(yǔ)言主要特點(diǎn)

    。 3.數(shù)據(jù)類型豐富。C語(yǔ)言提供的數(shù)據(jù)類型包括整形、浮點(diǎn)型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型和共用體類型等,C99又?jǐn)U充了復(fù)數(shù)浮點(diǎn)型、超長(zhǎng)整型(long long)和布爾類型(bool)等。尤其是
    發(fā)表于 01-05 07:41

    C語(yǔ)言C++之間的區(qū)別是什么

    區(qū)別 1、面向?qū)ο缶幊?(OOP): C語(yǔ)言是一種面向過(guò)程的語(yǔ)言,它強(qiáng)調(diào)的是通過(guò)函數(shù)任務(wù)分解為一系列步驟進(jìn)行執(zhí)行。 C++在
    發(fā)表于 12-11 06:23

    微庫(kù)與標(biāo)準(zhǔn)C庫(kù)的區(qū)別

    、stdout 和 stderr 除外。 MicroLib對(duì) C99 函數(shù)提供有限的支持。 MicroLib不支持操作系統(tǒng)函數(shù)。 MicroLib不支持與位置無(wú)關(guān)的代碼。 MicroLib不提供互斥鎖來(lái)
    發(fā)表于 12-09 07:49

    C語(yǔ)言的編程技巧

    1、宏定義使用do{...}while(0)?:當(dāng)宏定義中包含多條語(yǔ)句時(shí),使用do{...}while(0)可以避免語(yǔ)句嵌套問(wèn)題,確保宏的獨(dú)立性。? ?2、靈活數(shù)組成員?:C99標(biāo)準(zhǔn)允許結(jié)構(gòu)體的最后
    發(fā)表于 11-27 06:46

    C語(yǔ)言和單片機(jī)C語(yǔ)言有什么差異

    單片機(jī)c語(yǔ)言相對(duì)于普通C語(yǔ)言增加了一些基本的指令,還有變量的賦值是16進(jìn)制,當(dāng)然單片機(jī)c語(yǔ)言只牽
    發(fā)表于 11-14 07:55

    STM32MP157d linux5.4.31升級(jí)到6.1.82無(wú)法啟動(dòng)怎么解決?

    我以前一直使用linux5.4.31,只使用了TFA沒(méi)有optee uboot是2020版本。一直用得好好的 上個(gè)禮拜我想升級(jí)到6.1.82(主要想打RT linux patch, 看到STM有出
    發(fā)表于 06-10 07:31

    JDK8升級(jí)到21的問(wèn)題集

    一、背景與挑戰(zhàn) 1. 升級(jí)動(dòng)因 ?Oracle長(zhǎng)期支持策略 ?現(xiàn)代特性需求:協(xié)程、模式匹配、ZGC等 ?安全性與性能的需求 ?AI新技術(shù)引入的版本要求 2. 項(xiàng)目情況 ?100+項(xiàng)目并行升級(jí)
    的頭像 發(fā)表于 06-06 16:49 ?781次閱讀

    STM32MP157d linux5.4.31升級(jí)到6.1.82無(wú)法啟動(dòng)怎么解決?

    我以前一直使用linux5.4.31,只使用了TFA沒(méi)有optee uboot是2020版本。一直用得好好的 上個(gè)禮拜我想升級(jí)到6.1.82(主要想打RT linux patch, 看到STM有出
    發(fā)表于 06-06 06:42

    STM32MP157d linux5.4.31升級(jí)到6.1.82無(wú)法啟動(dòng)怎么解決?

    我以前一直使用linux5.4.31,只使用了TFA沒(méi)有optee uboot是2020版本。一直用得好好的 上個(gè)禮拜我想升級(jí)到6.1.82(主要想打RT linux patch, 看到STM有出
    發(fā)表于 05-21 06:20

    深入理解C語(yǔ)言C語(yǔ)言循環(huán)控制

    改變程序的執(zhí)行流程,使代碼更加靈活和可控。本文詳細(xì)介紹這些語(yǔ)句的作用及其應(yīng)用場(chǎng)景,并通過(guò)示例代碼進(jìn)行說(shuō)明。Part.1break語(yǔ)句C語(yǔ)言中break語(yǔ)句有兩種
    的頭像 發(fā)表于 04-29 18:49 ?1932次閱讀
    深入理解<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>:<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>循環(huán)控制

    STM32MP157d linux5.4.31升級(jí)到6.1.82無(wú)法啟動(dòng)的原因?

    我以前一直使用linux5.4.31,只使用了TFA沒(méi)有optee uboot是2020版本。一直用得好好的 上個(gè)禮拜我想升級(jí)到6.1.82(主要想打RT linux patch, 看到STM有出
    發(fā)表于 04-27 06:30

    C語(yǔ)言的歷史及程序介紹

    電子發(fā)燒友網(wǎng)站提供《C語(yǔ)言的歷史及程序介紹.pdf》資料免費(fèi)下載
    發(fā)表于 04-09 16:10 ?0次下載

    如何在 樹(shù)莓派 上編寫(xiě)和運(yùn)行 C 語(yǔ)言程序?

    在本教程中,我討論C編程語(yǔ)言是什么,C編程的用途,以及如何在RaspberryPi上編寫(xiě)和運(yùn)行C程序。本文的目的是為您介紹在Raspber
    的頭像 發(fā)表于 03-25 09:28 ?1087次閱讀
    如何在 樹(shù)莓派 上編寫(xiě)和運(yùn)行 <b class='flag-5'>C</b> <b class='flag-5'>語(yǔ)言</b>程序?

    6.12.1升級(jí)到6.13老是閃退是什么原因?qū)е碌模?/a>

    6.12.1升級(jí)到6.13老是閃退,回到6.12.1又正常,問(wèn)一下大家是什么原因?qū)е?,有什么解決辦法?
    發(fā)表于 03-11 08:13