forked from Minki/linux
docs/process/howto: Replace C89 with C11
Commite8c07082a8
("Kbuild: move to -std=gnu11") updated process/programming-language.rst, but failed to update process/howto.rst. Update howto.rst and resolve the inconsistency. Fixes:e8c07082a8
("Kbuild: move to -std=gnu11") Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Federico Vaga <federico.vaga@vaga.pv.it> Cc: Alex Shi <alexs@kernel.org> Cc: Hu Haowen <src.res@email.cn> Cc: Tsugikazu Shibata <shibata@linuxfoundation.org> Link: https://lore.kernel.org/r/20221015092201.32099-1-akiyks@gmail.com Signed-off-by: Jonathan Corbet <corbet@lwn.net>
This commit is contained in:
parent
e648174b53
commit
2f3f53d623
@ -36,7 +36,7 @@ experience, the following books are good for, if anything, reference:
|
|||||||
- "C: A Reference Manual" by Harbison and Steele [Prentice Hall]
|
- "C: A Reference Manual" by Harbison and Steele [Prentice Hall]
|
||||||
|
|
||||||
The kernel is written using GNU C and the GNU toolchain. While it
|
The kernel is written using GNU C and the GNU toolchain. While it
|
||||||
adheres to the ISO C89 standard, it uses a number of extensions that are
|
adheres to the ISO C11 standard, it uses a number of extensions that are
|
||||||
not featured in the standard. The kernel is a freestanding C
|
not featured in the standard. The kernel is a freestanding C
|
||||||
environment, with no reliance on the standard C library, so some
|
environment, with no reliance on the standard C library, so some
|
||||||
portions of the C standard are not supported. Arbitrary long long
|
portions of the C standard are not supported. Arbitrary long long
|
||||||
|
@ -44,7 +44,7 @@ altro, utili riferimenti:
|
|||||||
- "C: A Reference Manual" di Harbison and Steele [Prentice Hall]
|
- "C: A Reference Manual" di Harbison and Steele [Prentice Hall]
|
||||||
|
|
||||||
Il kernel è stato scritto usando GNU C e la toolchain GNU.
|
Il kernel è stato scritto usando GNU C e la toolchain GNU.
|
||||||
Sebbene si attenga allo standard ISO C89, esso utilizza una serie di
|
Sebbene si attenga allo standard ISO C11, esso utilizza una serie di
|
||||||
estensioni che non sono previste in questo standard. Il kernel è un
|
estensioni che non sono previste in questo standard. Il kernel è un
|
||||||
ambiente C indipendente, che non ha alcuna dipendenza dalle librerie
|
ambiente C indipendente, che non ha alcuna dipendenza dalle librerie
|
||||||
C standard, così alcune parti del C standard non sono supportate.
|
C standard, così alcune parti del C standard non sono supportate.
|
||||||
|
@ -65,7 +65,7 @@ Linux カーネル開発のやり方
|
|||||||
- 『新・詳説 C 言語 H&S リファレンス』 (サミュエル P ハービソン/ガイ L スティール共著 斉藤 信男監訳)[ソフトバンク]
|
- 『新・詳説 C 言語 H&S リファレンス』 (サミュエル P ハービソン/ガイ L スティール共著 斉藤 信男監訳)[ソフトバンク]
|
||||||
|
|
||||||
カーネルは GNU C と GNU ツールチェインを使って書かれています。カーネル
|
カーネルは GNU C と GNU ツールチェインを使って書かれています。カーネル
|
||||||
は ISO C89 仕様に準拠して書く一方で、標準には無い言語拡張を多く使って
|
は ISO C11 仕様に準拠して書く一方で、標準には無い言語拡張を多く使って
|
||||||
います。カーネルは標準 C ライブラリに依存しない、C 言語非依存環境です。
|
います。カーネルは標準 C ライブラリに依存しない、C 言語非依存環境です。
|
||||||
そのため、C の標準の中で使えないものもあります。特に任意の long long
|
そのため、C の標準の中で使えないものもあります。特に任意の long long
|
||||||
の除算や浮動小数点は使えません。カーネルがツールチェインや C 言語拡張
|
の除算や浮動小数点は使えません。カーネルがツールチェインや C 言語拡張
|
||||||
|
@ -62,7 +62,7 @@ Documentation/process/howto.rst
|
|||||||
- "Practical C Programming" by Steve Oualline [O'Reilly]
|
- "Practical C Programming" by Steve Oualline [O'Reilly]
|
||||||
- "C: A Reference Manual" by Harbison and Steele [Prentice Hall]
|
- "C: A Reference Manual" by Harbison and Steele [Prentice Hall]
|
||||||
|
|
||||||
커널은 GNU C와 GNU 툴체인을 사용하여 작성되었다. 이 툴들은 ISO C89 표준을
|
커널은 GNU C와 GNU 툴체인을 사용하여 작성되었다. 이 툴들은 ISO C11 표준을
|
||||||
따르는 반면 표준에 있지 않은 많은 확장기능도 가지고 있다. 커널은 표준 C
|
따르는 반면 표준에 있지 않은 많은 확장기능도 가지고 있다. 커널은 표준 C
|
||||||
라이브러리와는 관계없이 freestanding C 환경이어서 C 표준의 일부는
|
라이브러리와는 관계없이 freestanding C 환경이어서 C 표준의 일부는
|
||||||
지원되지 않는다. 임의의 long long 나누기나 floating point는 지원되지 않는다.
|
지원되지 않는다. 임의의 long long 나누기나 floating point는 지원되지 않는다.
|
||||||
|
@ -45,7 +45,7 @@ Linux内核大部分是由C语言写成的,一些体系结构相关的代码
|
|||||||
- "C: A Reference Manual" by Harbison and Steele [Prentice Hall]
|
- "C: A Reference Manual" by Harbison and Steele [Prentice Hall]
|
||||||
《C语言参考手册(原书第5版)》(邱仲潘 等译)[机械工业出版社]
|
《C语言参考手册(原书第5版)》(邱仲潘 等译)[机械工业出版社]
|
||||||
|
|
||||||
Linux内核使用GNU C和GNU工具链开发。虽然它遵循ISO C89标准,但也用到了一些
|
Linux内核使用GNU C和GNU工具链开发。虽然它遵循ISO C11标准,但也用到了一些
|
||||||
标准中没有定义的扩展。内核是自给自足的C环境,不依赖于标准C库的支持,所以
|
标准中没有定义的扩展。内核是自给自足的C环境,不依赖于标准C库的支持,所以
|
||||||
并不支持C标准中的部分定义。比如long long类型的大数除法和浮点运算就不允许
|
并不支持C标准中的部分定义。比如long long类型的大数除法和浮点运算就不允许
|
||||||
使用。有时候确实很难弄清楚内核对工具链的要求和它所使用的扩展,不幸的是目
|
使用。有时候确实很难弄清楚内核对工具链的要求和它所使用的扩展,不幸的是目
|
||||||
|
@ -48,7 +48,7 @@ Linux內核大部分是由C語言寫成的,一些體系結構相關的代碼
|
|||||||
- "C: A Reference Manual" by Harbison and Steele [Prentice Hall]
|
- "C: A Reference Manual" by Harbison and Steele [Prentice Hall]
|
||||||
《C語言參考手冊(原書第5版)》(邱仲潘 等譯)[機械工業出版社]
|
《C語言參考手冊(原書第5版)》(邱仲潘 等譯)[機械工業出版社]
|
||||||
|
|
||||||
Linux內核使用GNU C和GNU工具鏈開發。雖然它遵循ISO C89標準,但也用到了一些
|
Linux內核使用GNU C和GNU工具鏈開發。雖然它遵循ISO C11標準,但也用到了一些
|
||||||
標準中沒有定義的擴展。內核是自給自足的C環境,不依賴於標準C庫的支持,所以
|
標準中沒有定義的擴展。內核是自給自足的C環境,不依賴於標準C庫的支持,所以
|
||||||
並不支持C標準中的部分定義。比如long long類型的大數除法和浮點運算就不允許
|
並不支持C標準中的部分定義。比如long long類型的大數除法和浮點運算就不允許
|
||||||
使用。有時候確實很難弄清楚內核對工具鏈的要求和它所使用的擴展,不幸的是目
|
使用。有時候確實很難弄清楚內核對工具鏈的要求和它所使用的擴展,不幸的是目
|
||||||
|
Loading…
Reference in New Issue
Block a user