哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

  • __func__預定義標識符

  • 中使用布爾類型

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

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

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

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

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

  • 將聲明和代碼混合

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

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

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

  • 可變參數(shù)宏

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

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

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


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

    關(guān)注

    183

    文章

    7646

    瀏覽量

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

    關(guān)注

    30

    文章

    4975

    瀏覽量

    74353

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    C語言核心視頻課程-從小工專家

    ”的文章,重點放在發(fā)展趨勢和成長路徑上,不涉及代碼。 ? 未來底層開發(fā)首選:C 語言核心課,從小工專家的硬核進階之路 在當今軟件技術(shù)快速發(fā)展的時代,底層開發(fā)依然是技術(shù)體系的根基,而C
    的頭像 發(fā)表于 04-18 15:42 ?461次閱讀

    AT89C55WD微控制器:特性、功能與應用詳解

    嵌入式控制應用提供高靈活性和高性價比的解決方案。本文深入剖析AT89C55WD的各項特性、功能及應用要點。 文件下載: AT89C55WD-24AI.pdf 一、產(chǎn)品概述 AT89C
    的頭像 發(fā)表于 04-06 09:10 ?266次閱讀

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

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

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

    如何編寫真正安全的C語言代碼?指南涵蓋MISRA C、CERT、CWE等國際安全編碼標準對比,以及如何借助Perforce QAC自動檢測漏洞。推薦給嵌入式/汽車/工業(yè)軟件的開發(fā)者!
    的頭像 發(fā)表于 01-26 17:38 ?1069次閱讀
    <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.數(shù)據(jù)類型豐富。C語言提供的數(shù)據(jù)類型包括整形、浮點型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型和共用體類型等,C99又擴充了復數(shù)浮點型、超長整型(long long)和布爾類型(bool)等。尤其是
    發(fā)表于 01-05 07:41

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

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

    微庫與標準C庫的區(qū)別

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

    C語言的編程技巧

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

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

    單片機c語言相對于普通C語言增加了一些基本的指令,還有變量的賦值是16進制,當然單片機c語言只牽
    發(fā)表于 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有出
    發(fā)表于 06-10 07:31

    JDK8升級到21的問題集

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

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

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

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

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

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

    我以前一直使用linux5.4.31,只使用了TFA沒有optee uboot是2020版本。一直用得好好的 上個禮拜我想升級到6.1.82(主要想打RT linux patch, 看到STM有出
    發(fā)表于 04-27 06:30
    霍林郭勒市| 鲜城| 夏津县| 平顶山市| 栖霞市| 调兵山市| 兰坪| 马尔康县| 宜章县| 靖江市| 西吉县| 平度市| 桓仁| 潮安县| 法库县| 普兰县| 松阳县| 噶尔县| 启东市| 小金县| 霍州市| 恩平市| 高阳县| 绵阳市| 民和| 榆树市| 崇左市| 佛学| 栖霞市| 蓝田县| 鄂托克前旗| 汝南县| 汉中市| 吕梁市| 天门市| 松潘县| 丰原市| 芜湖市| 平江县| 雷波县| 镇康县|