国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

將curl使用的C語言標準從C89升級到C99?

CPP開發者 ? 來源:OSC開源社區 ? 作者:OSC開源社區 ? 2022-11-22 14:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

  • __func__預定義標識符

  • 中使用布爾類型

  • 指定的結構體初始值設定項
    空的宏參數

  • 中使用擴展的整數類型

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

  • 內聯函數

  • 整數常量類型規則

  • 將聲明和代碼混合

  • long long類型和庫函數

  • snprintf()函數家族

  • 枚舉聲明中支持尾隨逗號

  • 可變參數宏

  • 長度可變的數組

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

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


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • C語言
    +關注

    關注

    183

    文章

    7644

    瀏覽量

    145603
  • 代碼
    +關注

    關注

    30

    文章

    4968

    瀏覽量

    73976

原文標題:curl 作者:不考慮其他語言重構,計劃升級 C 語言標準、明年發布 curl 8

文章出處:【微信號:CPP開發者,微信公眾號:CPP開發者】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【ESP32-C2系列】WT99C202-AI-S2開發板上手指南

    設計的智能語音AI模組,支持2.4GHzWi-Fi、BluetoothLEv5.0,本地語音控制,此外,WT99C202-AI-S2支持離在線語音對話,OTA升級
    的頭像 發表于 02-25 18:25 ?113次閱讀
    【ESP32-<b class='flag-5'>C</b>2系列】WT<b class='flag-5'>99C</b>202-AI-S2開發板上手指南

    C語言安全編碼指南:MISRA C、CERT C、CWE 與 C Secure 標準對比與Perforce QAC應用詳解

    如何編寫真正安全的C語言代碼?指南涵蓋MISRA C、CERT、CWE等國際安全編碼標準對比,以及如何借助Perforce QAC自動檢測漏洞。推薦給嵌入式/汽車/工業軟件的開發者!
    的頭像 發表于 01-26 17:38 ?816次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</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'>標準</b>對比與Perforce QAC應用詳解

    C語言主要特點

    。 3.數據類型豐富。C語言提供的數據類型包括整形、浮點型、字符型、數組類型、指針類型、結構體類型和共用體類型等,C99又擴充了復數浮點型、超長整型(long long)和布爾類型(bool)等。尤其是
    發表于 01-05 07:41

    C語言C++之間的區別是什么

    區別 1、面向對象編程 (OOP): C語言是一種面向過程的語言,它強調的是通過函數任務分解為一系列步驟進行執行。 C++在
    發表于 12-11 06:23

    微庫與標準C庫的區別

    、stdout 和 stderr 除外。 MicroLib對 C99 函數提供有限的支持。 MicroLib不支持操作系統函數。 MicroLib不支持與位置無關的代碼。 MicroLib不提供互斥鎖來
    發表于 12-09 07:49

    C語言的編程技巧

    1、宏定義使用do{...}while(0)?:當宏定義中包含多條語句時,使用do{...}while(0)可以避免語句嵌套問題,確保宏的獨立性。? ?2、靈活數組成員?:C99標準允許結構體的最后
    發表于 11-27 06:46

    C語言和單片機C語言有什么差異

    單片機c語言相對于普通C語言增加了一些基本的指令,還有變量的賦值是16進制,當然單片機c語言只牽
    發表于 11-14 07:55

    STM32MP157d linux5.4.31升級到6.1.82無法啟動怎么解決?

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

    JDK8升級到21的問題集

    一、背景與挑戰 1. 升級動因 ?Oracle長期支持策略 ?現代特性需求:協程、模式匹配、ZGC等 ?安全性與性能的需求 ?AI新技術引入的版本要求 2. 項目情況 ?100+項目并行升級
    的頭像 發表于 06-06 16:49 ?850次閱讀

    STM32MP157d linux5.4.31升級到6.1.82無法啟動怎么解決?

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

    STM32MP157d linux5.4.31升級到6.1.82無法啟動怎么解決?

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

    深入理解C語言C語言循環控制

    改變程序的執行流程,使代碼更加靈活和可控。本文詳細介紹這些語句的作用及其應用場景,并通過示例代碼進行說明。Part.1break語句C語言中break語句有兩種
    的頭像 發表于 04-29 18:49 ?2047次閱讀
    深入理解<b class='flag-5'>C</b><b class='flag-5'>語言</b>:<b class='flag-5'>C</b><b class='flag-5'>語言</b>循環控制

    STM32MP157d linux5.4.31升級到6.1.82無法啟動的原因?

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

    如何在 樹莓派 上編寫和運行 C 語言程序?

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

    6.12.1升級到6.13老是閃退是什么原因導致的?

    6.12.1升級到6.13老是閃退,回到6.12.1又正常,問一下大家是什么原因導致,有什么解決辦法?
    發表于 03-11 08:13