.. include:: ../disclaimer-zh_CN.rst :Original: :ref:`Documentation/process/programming-language.rst <programming_language>` :Translator: Alex Shi <alex.shi@linux.alibaba.com> 程åºè®¾è®¡è¯è¨€ ============ å†…æ ¸æ˜¯ç”¨ C 编程è¯è¨€ç¼–写的 [zh_cn_c-language]_ã€‚æ›´å‡†ç¡®åœ°è¯´ï¼Œå†…æ ¸é€šå¸¸ä½¿ç”¨ ``gcc`` [zh_cn_gcc]_ 编译, 并且使用 ``-std=gnu11`` [zh_cn_gcc-c-dialect-options]_:这是 ISO C11 çš„ GNU 方言。 ``clang`` [zh_cn_clang]_ 也得到了支æŒï¼Œè¯¦è§æ–‡æ¡£ï¼š :ref:`使用 Clang/LLVM 构建 Linux <kbuild_llvm>`。 è¿™ç§æ–¹è¨€åŒ…å«å¯¹ C è¯è¨€çš„许多扩展 [zh_cn_gnu-extensions]_ï¼Œå½“ç„¶ï¼Œå®ƒä»¬è®¸å¤šéƒ½åœ¨å†…æ ¸ä¸ä½¿ç”¨ã€‚ 属性 ---- åœ¨æ•´ä¸ªå†…æ ¸ä¸ä½¿ç”¨çš„一个常è§æ‰©å±•æ˜¯å±žæ€§ï¼ˆattributes) [zh_cn_gcc-attribute-syntax]_。 属性å…许将实现定义的è¯ä¹‰å¼•å…¥è¯è¨€å®žä½“(如å˜é‡ã€å‡½æ•°æˆ–ç±»åž‹ï¼‰ï¼Œè€Œæ— éœ€å¯¹è¯è¨€è¿›è¡Œ é‡å¤§çš„è¯æ³•æ›´æ”¹ï¼ˆä¾‹å¦‚æ·»åŠ æ–°å…³é”®å—) [zh_cn_n2049]_。 在æŸäº›æƒ…况下,属性是å¯é€‰çš„(å³ä¸æ”¯æŒè¿™äº›å±žæ€§çš„编译器ä»ç„¶åº”该生æˆæ£ç¡®çš„代ç , å³ä½¿å…¶é€Ÿåº¦è¾ƒæ…¢æˆ–执行的编译时检查/诊æ–次数ä¸å¤Ÿï¼‰ å†…æ ¸å®šä¹‰äº†ä¼ªå…³é”®å—(例如, ``pure`` ),而ä¸æ˜¯ç›´æŽ¥ä½¿ç”¨GNU属性è¯æ³•ï¼ˆä¾‹å¦‚, ``__attribute__((__pure__))`` ),以检测å¯ä»¥ä½¿ç”¨å“ªäº›å…³é”®å—å’Œ/或缩çŸä»£ç , 具体 请å‚阅 ``include/linux/compiler_attributes.h`` Rust ---- å†…æ ¸å¯¹ Rust 编程è¯è¨€ [zh_cn_rust-language]_ 的支æŒæ˜¯å®žéªŒæ€§çš„,并且å¯ä»¥é€šè¿‡é…置选项 ``CONFIG_RUST`` æ¥å¯ç”¨ã€‚Rust 代ç 使用 ``rustc`` [zh_cn_rustc]_ 编译器在 ``--edition=2021`` [zh_cn_rust-editions]_ 选项下进行编译。版本(Editionsï¼‰æ˜¯ä¸€ç§ åœ¨è¯è¨€ä¸å¼•å…¥éžåŽå‘兼容的å°åž‹å˜æ›´çš„æ–¹å¼ã€‚ 除æ¤ä¹‹å¤–ï¼Œå†…æ ¸ä¸è¿˜ä½¿ç”¨äº†ä¸€äº›ä¸ç¨³å®šçš„特性 [zh_cn_rust-unstable-features]_。这些ä¸ç¨³å®š 的特性将æ¥å¯èƒ½ä¼šå‘生å˜åŒ–ï¼Œå› æ¤ï¼Œä¸€ä¸ªé‡è¦çš„ç›®æ ‡æ˜¯è¾¾åˆ°ä»…ä½¿ç”¨ç¨³å®šç‰¹æ€§çš„ç¨‹åº¦ã€‚ 具体请å‚阅 Documentation/rust/index.rst .. [zh_cn_c-language] http://www.open-std.org/jtc1/sc22/wg14/www/standards .. [zh_cn_gcc] https://gcc.gnu.org .. [zh_cn_clang] https://clang.llvm.org .. [zh_cn_gcc-c-dialect-options] https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html .. [zh_cn_gnu-extensions] https://gcc.gnu.org/onlinedocs/gcc/C-Extensions.html .. [zh_cn_gcc-attribute-syntax] https://gcc.gnu.org/onlinedocs/gcc/Attribute-Syntax.html .. [zh_cn_n2049] http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2049.pdf .. [zh_cn_rust-language] https://www.rust-lang.org .. [zh_cn_rustc] https://doc.rust-lang.org/rustc/ .. [zh_cn_rust-editions] https://doc.rust-lang.org/edition-guide/editions/ .. [zh_cn_rust-unstable-features] https://github.com/Rust-for-Linux/linux/issues/2