成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux 內核從 C89 遷移到 C11 的新進展

系統 Linux
內核開發者 Arnd Bergmann 發出了一個新的補丁,允許 Linux 內核在指定 C11 的 GNU 方言時默認使用“-std=gnu11”。這樣一來,內核將允許使用不錯的 C99/C11 功能,而不是僅限于 C89。

內核開發者 Arnd Bergmann 發出了一個新的補丁,允許 Linux 內核在指定 C11 的 GNU 方言時默認使用“-std=gnu11”。這樣一來,內核將允許使用不錯的 C99/C11 功能,而不是僅限于 C89。鑒于這一變更已經得到了 Linus Torvalds 的支持,如果沒有發現任何根本性的問題,它可能會在下一個內核合并窗口中繼續進行。

在一次補丁討論中,Linus 提出了將 C 的標準版本從 gnu89 改為 gnu99 的選擇,它允許在 for() 循環中使用變量聲明。雖然 C99、C11 和后來的標準引入了許多其他功能,但其中大部分在 gnu89 中也已經可以作為 GNU 擴展使用。

早些時候,gcc-5 曾試圖默認為 -std=gnu1,但失敗了,因為當時這引起了對舊編譯器的指定初始化器的警告。現在,gcc-5.1 是用于構建內核的最小編譯器版本,這不再是一個問題。同樣地,"inline"函數的行為在 gnu89 和 gnu11 之間發生了變化,但這已經通過定義"inline"包括 __attribute__((gnu_inline)) 來解決了,以便在不久前允許用 clang 來構建。

剩下的一個小問題是,在使用 -Werror 構建時添加了一個針對負整數移位的 gcc 警告,這發生在"make W=1"選項中,以及內核中的三個驅動程序總是啟用 -Werror,但目前只在 i915 驅動程序中觀察到。為了安全起見,在 Makefile 的任何 -Wextra 中添加 -Wno-shift-negative-value。

Nathan Chancellor 報告了一個額外的 -Wdeclaration-after-statement 警告,出現在 arm 的 system header 中,這仍然需要一個解決方法。

gnu99、gnu11、gnu1x 和 gnu17 之間的差異相當小,主要影響內核從不啟用的 -Wpedantic 級別的警告。在這些版本之間,gnu11 是被所有支持的編譯器版本所支持的最新版本,盡管它只是 gcc-5 的默認版本,而所有其他支持的 gcc 或 clang 版本都默認為 gnu1x/gnu17。

事件的前因后果為,Linux 內核社區日前曾討論了是否要為內核采用現代 C 語言標準。Linus 在討論中提出了從 C89 提升到 C99 的想法;并表示,內核代碼一直停留在 C89 的原因之一是編譯器 gcc 的舊版本會出現奇怪的問題,導致初始化程序被破壞。但現在內核要求的 GCC 最低版本已經提高到了 v5.1,那些 bug 可能已經不再相關。

最后事實證明,以當前內核的最低版本編譯器要求和當前代碼的條件,他們實際上可以開始使用 C11 構建內核。Arnd Bergmann 提議直接升級到 C11 甚至 C2x。雖然他不確定 C11 是否會帶來任何對內核有用的新內容,但如果升級到 C17 或 C2x,會破壞對 gcc-5/6/7 的支持;因此升級到 C11 更容易實現,而且跨越太大內核社區未必接受。

Linus 對該想法表示了贊成。在 Bergmann 確認此舉可行后,Linus 宣布將在下一個內核版本 v5.18 中嘗試使用 C11 標準。

更多詳情可查看??郵件列表??。

本文轉自OSCHINA

本文標題:Linux 內核從 C89 遷移到 C11 的新進展

本文地址:https://www.oschina.net/news/184534/linux-kernel-c89-to-c11

責任編輯:未麗燕 來源: 開源中國
相關推薦

2021-09-14 10:03:35

RustLinux開發工作

2015-11-12 09:27:13

C++最新進展

2021-09-16 10:15:56

Linux內核Rust

2023-07-17 10:21:25

TC39JavaScript

2022-02-25 14:51:39

LinuxC語言Linux 內核

2020-06-01 21:07:33

C11C++11內存

2020-07-02 16:00:53

?Flutter桌面應用代碼

2009-09-25 09:27:33

Ubuntu 2010最新進展Lucid Lynx

2012-11-19 10:37:57

思杰OpenStack

2012-11-19 10:50:39

思杰CloudStack開源

2017-02-22 18:15:31

AI谷歌

2019-11-15 10:11:03

人工智能埃博拉技術

2018-07-23 15:26:02

Java框架應用程序

2021-08-24 10:15:35

模型人工智能計算

2021-11-12 20:59:21

數字人民幣數字貨幣區塊鏈

2022-03-02 09:53:51

微軟FlutterEngine PR

2017-02-17 13:38:40

2020-09-18 06:44:57

MSVC微軟C11

2012-05-21 10:23:36

2014-06-17 09:58:15

容器Google
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 丝袜美腿一区二区三区动态图 | 欧美成人精品一区二区男人看 | 欧美中文在线 | 粉嫩av久久一区二区三区 | 久草免费在线视频 | h视频在线观看免费 | 国产精品一区在线播放 | 亚洲天堂男人的天堂 | 日本不卡一区二区三区 | 久久aⅴ乱码一区二区三区 91综合网 | 成人在线免费观看视频 | 国产成人一区二区三区久久久 | 在线免费观看黄色 | 天堂一区在线观看 | 免费视频99 | 日本 欧美 三级 高清 视频 | 亚洲精品女人久久久 | 欧美日韩一区二区三区不卡视频 | 国产乱码精品1区2区3区 | 亚洲国产精品一区二区三区 | 午夜理伦三级理论三级在线观看 | 一区二区三区四区在线视频 | 91天堂 | 懂色中文一区二区三区在线视频 | 日韩电影免费观看中文字幕 | 久久大 | 国产ts人妖系列高潮 | 日韩在线播放第一页 | 成人黄页在线观看 | 国产黄色在线观看 | 成人影院在线视频 | 成人黄色在线视频 | 91传媒在线观看 | 欧美video | 中文字幕av在线播放 | 北条麻妃视频在线观看 | 精品久久亚洲 | 91精品综合久久久久久五月天 | 日本精品视频 | 九九久久精品 | 欧美日韩国产一区 |