[PATCH v4] docs: pt_BR: process: Translate programming-language
Abel Philippe <[email protected]> Mon, 3 Aug 2026 15:59:18 -0300
| Newsgroups | org.kernel.vger.linux-doc |
|---|---|
| Message-ID | <[email protected]> |
Translate the programming language documentation into Brazilian Portuguese. Changes in v2: - addition of SPDX-License-Identifier: GPL-2.0 - addition of the missing half of the file Changes in v3: - change "linguagem de progamação" to "linguagem de programação" - removing duplicate "``rustc`` [rustc]_" from programming_language.rst Changes in v4: - remove zero-width characters Signed-off-by: Abel Philippe <[email protected]> --- pt_BR/index.rst | 2 +- pt_BR/process/programming-language.rst | 58 ++++++++++++++++++++++++++ 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 pt_BR/process/programming-language.rst diff --git a/pt_BR/index.rst b/pt_BR/index.rst index 5b8b60cf930f..de99839db0b4 100644 --- a/pt_BR/index.rst +++ b/pt_BR/index.rst @@ -83,4 +83,4 @@ kernel e sobre como ver seu trabalho integrado. Conformidade de DTS para SoC <process/maintainer-soc-clean-dts> Processo do subsistema KVM x86 <process/maintainer-kvm-x86> Adicionando uma Nova Chamada de Sistema <process/adding-syscalls> - + Linguagem de programação <process/programming-language> diff --git a/pt_BR/process/programming-language.rst b/pt_BR/process/programming-language.rst new file mode 100644 index 000000000000..239b89e088e5 --- /dev/null +++ b/pt_BR/process/programming-language.rst @@ -0,0 +1,58 @@ +.. SPDX-License-Identifier: GPL-2.0 + +Linguagem de programação +======================== + +O kernel Linux é escrito na linguagem de programação C [c-language]_. +Mais precisamente, ele é normalmente compilado com ``gcc`` [gcc]_ +sob ``-std=gnu11`` [gcc-c-dialect-options]_, o dialeto GNU da ISO C11. +O compilador ``clang`` [clang]_ também é suportado; consulte a documentação em +:ref:`Building Linux with Clang/LLVM <kbuild_llvm>`. + +Esse dialeto contém diversas extensões da linguagem [gnu-extensions]_, +e muitas delas são utilizadas rotineiramente no kernel. + +Atributos +--------- + +Uma das extensões mais comuns utilizadas em todo o kernel são os atributos +[gcc-attribute-syntax]_. Os atributos permitem introduzir +semânticas definidas pela implementação em entidades da linguagem (como variáveis, +funções ou tipos) sem a necessidade de realizar mudanças sintáticas +significativas na linguagem (por exemplo, adicionando uma nova palavra-chave) [n2049]_. + +Em alguns casos, os atributos são opcionais (isto é, um compilador que não os +suporte ainda deve produzir código correto, mesmo que ele seja mais lento ou +não execute tantas verificações e diagnósticos durante a compilação). + +O kernel define pseudopalavras-chave (por exemplo, ``__pure``) em vez de usar +diretamente a sintaxe de atributos do GNU (por exemplo, ``__attribute__((__pure__))``) +para detectar quais deles podem ser utilizados e/ou para encurtar o código. + +Por favor, consulte ``include/linux/compiler_attributes.h`` para mais informações. + +Rust +---- + +O kernel tem suporte para a linguagem de programação Rust. +[rust-language]_ sob ``CONFIG_RUST``. É compilado com o ``rustc`` [rustc]_ +sob ``--edition=2021`` [rust-editions]_. As edições são uma maneira de introduzir +pequenas alterações na linguagem que não são retrocompatíveis. + +Além disso, alguns recursos instáveis [rust-unstable-features]_ são utilizados no +kernel. Recursos instáveis podem sofrer alterações no futuro; portanto, é um +objetivo importante chegar a um ponto em que apenas recursos estáveis sejam utilizados. + +Consulte ``Documentation/rust/index.rst`` para obter mais informações. + +.. [c-language] http://www.open-std.org/jtc1/sc22/wg14/www/standards +.. [gcc] https://gcc.gnu.org +.. [clang] https://clang.llvm.org +.. [gcc-c-dialect-options] https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html +.. [gnu-extensions] https://gcc.gnu.org/onlinedocs/gcc/C-Extensions.html +.. [gcc-attribute-syntax] https://gcc.gnu.org/onlinedocs/gcc/Attribute-Syntax.html +.. [n2049] http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2049.pdf +.. [rust-language] https://www.rust-lang.org +.. [rustc] https://doc.rust-lang.org/rustc/ +.. [rust-editions] https://doc.rust-lang.org/edition-guide/editions/ +.. [rust-unstable-features] https://github.com/Rust-for-Linux/linux/issues/2 -- 2.43.0