~asphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextEnglish}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget/process/programming-languagemodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget0/translations/zh_TW/process/programming-languagemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget0/translations/it_IT/process/programming-languagemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget0/translations/ja_JP/process/programming-languagemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget0/translations/ko_KR/process/programming-languagemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget0/translations/sp_SP/process/programming-languagemodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageChinese (Simplified)uh1h hh _documenthsourceNlineNubhnote)}(hX{此文件的目的是为让中文读者更容易阅读和理解,而不是作为一个分支。 因此, 如果您对此文件有任何意见或更新,请先尝试更新原始英文文件。 如果您发现本文档与原始文件有任何不同或者有翻译问题,请发建议或者补丁给 该文件的译者,或者请求中文文档维护者和审阅者的帮助。h]h paragraph)}(hX{此文件的目的是为让中文读者更容易阅读和理解,而不是作为一个分支。 因此, 如果您对此文件有任何意见或更新,请先尝试更新原始英文文件。 如果您发现本文档与原始文件有任何不同或者有翻译问题,请发建议或者补丁给 该文件的译者,或者请求中文文档维护者和审阅者的帮助。h]hX{此文件的目的是为让中文读者更容易阅读和理解,而不是作为一个分支。 因此, 如果您对此文件有任何意见或更新,请先尝试更新原始英文文件。 如果您发现本文档与原始文件有任何不同或者有翻译问题,请发建议或者补丁给 该文件的译者,或者请求中文文档维护者和审阅者的帮助。}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hh5Documentation/translations/zh_CN/disclaimer-zh_CN.rsthKhhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh field_list)}(hhh](hfield)}(hhh](h field_name)}(hOriginalh]hOriginal}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhh]/var/lib/git/docbuild/linux/Documentation/translations/zh_CN/process/programming-language.rsthKubh field_body)}(hL:ref:`Documentation/process/programming-language.rst `h]h)}(hhh]h)}(hhh]hinline)}(hhh]h.Documentation/process/programming-language.rst}(hhhhhNhNubah}(h]h ](xrefstdstd-refeh"]h$]h&]uh1hhhubah}(h]h ]h"]h$]h&]refdoc/translations/zh_CN/process/programming-language refdomainhreftyperef refexplicitrefwarn reftargetprogramming_languageuh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hhh](h)}(h Translatorh]h Translator}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhKubh)}(h&Alex Shi h]h)}(h%Alex Shi h](h Alex Shi <}(hj-hhhNhNubh reference)}(halex.shi@linux.alibaba.comh]halex.shi@linux.alibaba.com}(hj7hhhNhNubah}(h]h ]h"]h$]h&]refuri!mailto:alex.shi@linux.alibaba.comuh1j5hj-ubh>}(hj-hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj)ubah}(h]h ]h"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubeh}(h]h ]h"]h$]h&]uh1hhhhhhhhKubhsection)}(hhh](htitle)}(h程序设计语言h]h程序设计语言}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhjehhhhhKubh)}(hXQ内核是用 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 `。h](h%内核是用 C 编程语言编写的 }(hjxhhhNhNubh)}(hzh_cn_c-languageh]h)}(hjh]h[zh_cn_c-language]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]id2ah ]h"]h$]h&] refdomaincitationreftyperef reftargetjrefwarnsupport_smartquotesuh1hhhhK hjxhhubh(。更准确地说,内核通常使用 }(hjxhhhNhNubhliteral)}(h``gcc``h]hgcc}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjxubh }(hjxhhhNhNubh)}(h zh_cn_gcch]h)}(hjh]h [zh_cn_gcc]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]id3ah ]h"]h$]h&] refdomainjreftypej reftargetjrefwarnsupport_smartquotesuh1hhhhK hjxhhubh 编译, 并且使用 }(hjxhhhNhNubj)}(h``-std=gnu11``h]h -std=gnu11}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjxubh }hjxsbh)}(hzh_cn_gcc-c-dialect-optionsh]h)}(hjh]h[zh_cn_gcc-c-dialect-options]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]id4ah ]h"]h$]h&] refdomainjreftypej reftargetjrefwarnsupport_smartquotesuh1hhhhK hjxhhubh$:这是 ISO C11 的 GNU 方言。 }(hjxhhhNhNubj)}(h ``clang``h]hclang}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjxubh }hjxsbh)}(h zh_cn_clangh]h)}(hjh]h [zh_cn_clang]}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]id5ah ]h"]h$]h&] refdomainjreftypej reftargetjrefwarnsupport_smartquotesuh1hhhhK hjxhhubh& 也得到了支持,详见文档: }(hjxhhhNhNubh)}(h3:ref:`使用 Clang/LLVM 构建 Linux `h]h)}(hj@h]h使用 Clang/LLVM 构建 Linux}(hjBhhhNhNubah}(h]h ](hstdstd-refeh"]h$]h&]uh1hhj>ubah}(h]h ]h"]h$]h&]refdoch refdomainjLreftyperef refexplicitrefwarnj kbuild_llvmuh1hhhhK hjxubh。}(hjxhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK hjehhubh)}(hu这种方言包含对 C 语言的许多扩展 [zh_cn_gnu-extensions]_,当然,它们许多都在内核中使用。h](h.这种方言包含对 C 语言的许多扩展 }(hjhhhhNhNubh)}(hzh_cn_gnu-extensionsh]h)}(hjrh]h[zh_cn_gnu-extensions]}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhjpubah}(h]id6ah ]h"]h$]h&] refdomainjreftypej reftargetjrrefwarnsupport_smartquotesuh1hhhhKhjhhhubh0,当然,它们许多都在内核中使用。}(hjhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjehhubjd)}(hhh](ji)}(h属性h]h属性}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhjhhhhhKubh)}(hX 在整个内核中使用的一个常见扩展是属性(attributes) [zh_cn_gcc-attribute-syntax]_。 属性允许将实现定义的语义引入语言实体(如变量、函数或类型),而无需对语言进行 重大的语法更改(例如添加新关键字) [zh_cn_n2049]_。h](hG在整个内核中使用的一个常见扩展是属性(attributes) }(hjhhhNhNubh)}(hzh_cn_gcc-attribute-syntaxh]h)}(hjh]h[zh_cn_gcc-attribute-syntax]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]id8ah ]h"]h$]h&] refdomainjreftypej reftargetjrefwarnsupport_smartquotesuh1hhhhKhjhhubh。 属性允许将实现定义的语义引入语言实体(如变量、函数或类型),而无需对语言进行 重大的语法更改(例如添加新关键字) }(hjhhhNhNubh)}(h zh_cn_n2049h]h)}(hjh]h [zh_cn_n2049]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]id9ah ]h"]h$]h&] refdomainjreftypej reftargetjrefwarnsupport_smartquotesuh1hhhhKhjhhubh。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(h在某些情况下,属性是可选的(即不支持这些属性的编译器仍然应该生成正确的代码, 即使其速度较慢或执行的编译时检查/诊断次数不够)h]h在某些情况下,属性是可选的(即不支持这些属性的编译器仍然应该生成正确的代码, 即使其速度较慢或执行的编译时检查/诊断次数不够)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(h内核定义了伪关键字(例如, ``pure`` ),而不是直接使用GNU属性语法(例如, ``__attribute__((__pure__))`` ),以检测可以使用哪些关键字和/或缩短代码, 具体 请参阅 ``include/linux/compiler_attributes.h``h](h(内核定义了伪关键字(例如, }(hjhhhNhNubj)}(h``pure``h]hpure}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh6 ),而不是直接使用GNU属性语法(例如, }(hjhhhNhNubj)}(h``__attribute__((__pure__))``h]h__attribute__((__pure__))}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhQ ),以检测可以使用哪些关键字和/或缩短代码, 具体 请参阅 }(hjhhhNhNubj)}(h'``include/linux/compiler_attributes.h``h]h#include/linux/compiler_attributes.h}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]id7ah ]h"]属性ah$]h&]uh1jchjehhhhhKubjd)}(hhh](ji)}(hRusth]hRust}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhjNhhhhhKubh)}(hX]内核对 Rust 编程语言 [zh_cn_rust-language]_ 的支持是实验性的,并且可以通过配置选项 ``CONFIG_RUST`` 来启用。Rust 代码使用 ``rustc`` [zh_cn_rustc]_ 编译器在 ``--edition=2021`` [zh_cn_rust-editions]_ 选项下进行编译。版本(Editions)是一种 在语言中引入非后向兼容的小型变更的方式。h](h内核对 Rust 编程语言 }(hj_hhhNhNubh)}(hzh_cn_rust-languageh]h)}(hjih]h[zh_cn_rust-language]}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjgubah}(h]id10ah ]h"]h$]h&] refdomainjreftypej reftargetjirefwarnsupport_smartquotesuh1hhhhK!hj_hhubh; 的支持是实验性的,并且可以通过配置选项 }(hj_hhhNhNubj)}(h``CONFIG_RUST``h]h CONFIG_RUST}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj_ubh 来启用。Rust 代码使用 }(hj_hhhNhNubj)}(h ``rustc``h]hrustc}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj_ubh }(hj_hhhNhNubh)}(h zh_cn_rustch]h)}(hjh]h [zh_cn_rustc]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]id11ah ]h"]h$]h&] refdomainjreftypej reftargetjrefwarnsupport_smartquotesuh1hhhhK!hj_hhubh 编译器在 }(hj_hhhNhNubj)}(h``--edition=2021``h]h--edition=2021}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj_ubh }hj_sbh)}(hzh_cn_rust-editionsh]h)}(hjh]h[zh_cn_rust-editions]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]id12ah ]h"]h$]h&] refdomainjreftypej reftargetjrefwarnsupport_smartquotesuh1hhhhK!hj_hhubhs 选项下进行编译。版本(Editions)是一种 在语言中引入非后向兼容的小型变更的方式。}(hj_hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK!hjNhhubh)}(h除此之外,内核中还使用了一些不稳定的特性 [zh_cn_rust-unstable-features]_。这些不稳定 的特性将来可能会发生变化,因此,一个重要的目标是达到仅使用稳定特性的程度。h](h=除此之外,内核中还使用了一些不稳定的特性 }(hjhhhNhNubh)}(hzh_cn_rust-unstable-featuresh]h)}(hjh]h[zh_cn_rust-unstable-features]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]id13ah ]h"]h$]h&] refdomainjreftypej reftargetjrefwarnsupport_smartquotesuh1hhhhK&hjhhubh。这些不稳定 的特性将来可能会发生变化,因此,一个重要的目标是达到仅使用稳定特性的程度。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK&hjNhhubh)}(h,具体请参阅 Documentation/rust/index.rsth]h,具体请参阅 Documentation/rust/index.rst}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK)hjNhhubhj)}(h4http://www.open-std.org/jtc1/sc22/wg14/www/standardsh](hlabel)}(hzh_cn_c-languageh]hzh_cn_c-language}(hjJhhhNhNubah}(h]h ]h"]h$]h&]support_smartquotesuh1jHhjDubh)}(hjFh]j6)}(hjFh]h4http://www.open-std.org/jtc1/sc22/wg14/www/standards}(hj\hhhNhNubah}(h]h ]h"]h$]h&]refurijFuh1j5hjYubah}(h]h ]h"]h$]h&]uh1hhhhK+hjDubeh}(h]zh-cn-c-languageah ]h"]zh_cn_c-languageah$]h&]jadocnamehuh1jhhhK+hjNhhresolvedKubjC)}(hhttps://gcc.gnu.orgh](jI)}(h zh_cn_gcch]h zh_cn_gcc}(hj~hhhNhNubah}(h]h ]h"]h$]h&]jXuh1jHhjzubh)}(hj|h]j6)}(hj|h]hhttps://gcc.gnu.org}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurij|uh1j5hjubah}(h]h ]h"]h$]h&]uh1hhhhK,hjzubeh}(h] zh-cn-gccah ]h"] zh_cn_gccah$]h&]jajxhuh1jhhhK,hjNhhjyKubjC)}(hhttps://clang.llvm.orgh](jI)}(h zh_cn_clangh]h zh_cn_clang}(hjhhhNhNubah}(h]h ]h"]h$]h&]jXuh1jHhjubh)}(hjh]j6)}(hjh]hhttps://clang.llvm.org}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijuh1j5hjubah}(h]h ]h"]h$]h&]uh1hhhhK-hjubeh}(h] zh-cn-clangah ]h"] zh_cn_clangah$]h&]j0ajxhuh1jhhhK-hjNhhjyKubjC)}(h9https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.htmlh](jI)}(hzh_cn_gcc-c-dialect-optionsh]hzh_cn_gcc-c-dialect-options}(hjhhhNhNubah}(h]h ]h"]h$]h&]jXuh1jHhjubh)}(hjh]j6)}(hjh]h9https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijuh1j5hjubah}(h]h ]h"]h$]h&]uh1hhhhK.hjubeh}(h]zh-cn-gcc-c-dialect-optionsah ]h"]zh_cn_gcc-c-dialect-optionsah$]h&]jajxhuh1jhhhK.hjNhhjyKubjC)}(h4https://gcc.gnu.org/onlinedocs/gcc/C-Extensions.htmlh](jI)}(hzh_cn_gnu-extensionsh]hzh_cn_gnu-extensions}(hjhhhNhNubah}(h]h ]h"]h$]h&]jXuh1jHhj ubh)}(hjh]j6)}(hjh]h4https://gcc.gnu.org/onlinedocs/gcc/C-Extensions.html}(hj"hhhNhNubah}(h]h ]h"]h$]h&]refurijuh1j5hjubah}(h]h ]h"]h$]h&]uh1hhhhK/hj ubeh}(h]zh-cn-gnu-extensionsah ]h"]zh_cn_gnu-extensionsah$]h&]jajxhuh1jhhhK/hjNhhjyKubjC)}(h8https://gcc.gnu.org/onlinedocs/gcc/Attribute-Syntax.htmlh](jI)}(hzh_cn_gcc-attribute-syntaxh]hzh_cn_gcc-attribute-syntax}(hjBhhhNhNubah}(h]h ]h"]h$]h&]jXuh1jHhj>ubh)}(hj@h]j6)}(hj@h]h8https://gcc.gnu.org/onlinedocs/gcc/Attribute-Syntax.html}(hjShhhNhNubah}(h]h ]h"]h$]h&]refurij@uh1j5hjPubah}(h]h ]h"]h$]h&]uh1hhhhK0hj>ubeh}(h]zh-cn-gcc-attribute-syntaxah ]h"]zh_cn_gcc-attribute-syntaxah$]h&]jajxhuh1jhhhK0hjNhhjyKubjC)}(h9http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2049.pdfh](jI)}(h zh_cn_n2049h]h zh_cn_n2049}(hjshhhNhNubah}(h]h ]h"]h$]h&]jXuh1jHhjoubh)}(hjqh]j6)}(hjqh]h9http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2049.pdf}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijquh1j5hjubah}(h]h ]h"]h$]h&]uh1hhhhK1hjoubeh}(h] zh-cn-n2049ah ]h"] zh_cn_n2049ah$]h&]jajxhuh1jhhhK1hjNhhjyKubjC)}(hhttps://www.rust-lang.orgh](jI)}(hzh_cn_rust-languageh]hzh_cn_rust-language}(hjhhhNhNubah}(h]h ]h"]h$]h&]jXuh1jHhjubh)}(hjh]j6)}(hjh]hhttps://www.rust-lang.org}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijuh1j5hjubah}(h]h ]h"]h$]h&]uh1hhhhK2hjubeh}(h]zh-cn-rust-languageah ]h"]zh_cn_rust-languageah$]h&]jzajxhuh1jhhhK2hjNhhjyKubjC)}(h https://doc.rust-lang.org/rustc/h](jI)}(h zh_cn_rustch]h zh_cn_rustc}(hjhhhNhNubah}(h]h ]h"]h$]h&]jXuh1jHhjubh)}(hjh]j6)}(hjh]h https://doc.rust-lang.org/rustc/}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijuh1j5hjubah}(h]h ]h"]h$]h&]uh1hhhhK3hjubeh}(h] zh-cn-rustcah ]h"] zh_cn_rustcah$]h&]jajxhuh1jhhhK3hjNhhjyKubjC)}(h1https://doc.rust-lang.org/edition-guide/editions/h](jI)}(hzh_cn_rust-editionsh]hzh_cn_rust-editions}(hjhhhNhNubah}(h]h ]h"]h$]h&]jXuh1jHhjubh)}(hjh]j6)}(hjh]h1https://doc.rust-lang.org/edition-guide/editions/}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijuh1j5hjubah}(h]h ]h"]h$]h&]uh1hhhhK4hjubeh}(h]zh-cn-rust-editionsah ]h"]zh_cn_rust-editionsah$]h&]jajxhuh1jhhhK4hjNhhjyKubjC)}(h0https://github.com/Rust-for-Linux/linux/issues/2h](jI)}(hzh_cn_rust-unstable-featuresh]hzh_cn_rust-unstable-features}(hj7hhhNhNubah}(h]h ]h"]h$]h&]jXuh1jHhj3ubh)}(hj5h]j6)}(hj5h]h0https://github.com/Rust-for-Linux/linux/issues/2}(hjHhhhNhNubah}(h]h ]h"]h$]h&]refurij5uh1j5hjEubah}(h]h ]h"]h$]h&]uh1hhhhK5hj3ubeh}(h]zh-cn-rust-unstable-featuresah ]h"]zh_cn_rust-unstable-featuresah$]h&]j!ajxhuh1jhhhK5hjNhhjyKubeh}(h]rustah ]h"]rustah$]h&]uh1jchjehhhhhKubeh}(h]id1ah ]h"]程序设计语言ah$]h&]uh1jchhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(jhN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjerror_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh، _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}(zh_cn_c-language]hcitation_reference)}(h[zh_cn_c-language]_h]hzh_cn_c-language}hjsbah}(h]jah ]h"]h$]h&]refidjruh1jhjxjyKuba zh_cn_gcc]j)}(h [zh_cn_gcc]_h]h zh_cn_gcc}hjsbah}(h]jah ]h"]h$]h&]jjuh1jhjxjyKubazh_cn_gcc-c-dialect-options]j)}(h[zh_cn_gcc-c-dialect-options]_h]hzh_cn_gcc-c-dialect-options}hjsbah}(h]jah ]h"]h$]h&]jjuh1jhjxjyKuba zh_cn_clang]j)}(h[zh_cn_clang]_h]h zh_cn_clang}hj sbah}(h]j0ah ]h"]h$]h&]jjuh1jhjxjyKubazh_cn_gnu-extensions]j)}(h[zh_cn_gnu-extensions]_h]hzh_cn_gnu-extensions}hjsbah}(h]jah ]h"]h$]h&]jj8uh1jhjhjyKubazh_cn_gcc-attribute-syntax]j)}(h[zh_cn_gcc-attribute-syntax]_h]hzh_cn_gcc-attribute-syntax}hj,sbah}(h]jah ]h"]h$]h&]jjiuh1jhjjyKuba zh_cn_n2049]j)}(h[zh_cn_n2049]_h]h zh_cn_n2049}hj<sbah}(h]jah ]h"]h$]h&]jjuh1jhjjyKubazh_cn_rust-language]j)}(h[zh_cn_rust-language]_h]hzh_cn_rust-language}hjLsbah}(h]jzah ]h"]h$]h&]jjuh1jhj_jyKuba zh_cn_rustc]j)}(h[zh_cn_rustc]_h]h zh_cn_rustc}hj\sbah}(h]jah ]h"]h$]h&]jjuh1jhj_jyKubazh_cn_rust-editions]j)}(h[zh_cn_rust-editions]_h]hzh_cn_rust-editions}hjlsbah}(h]jah ]h"]h$]h&]jj-uh1jhj_jyKubazh_cn_rust-unstable-features]j)}(h[zh_cn_rust-unstable-features]_h]hzh_cn_rust-unstable-features}hj|sbah}(h]j!ah ]h"]h$]h&]jj^uh1jhjjyKubaurefids}nameids}(jqjnjKjHjijfjujrjjjjj jj;j8jljijjjjjjj0j-jaj^u nametypes}(jqjKjijujjj j;jljjjj0jauh}(jnjejjjjjjj0j jjjHjjj,jj<jfjNjzjLjj\jjlj!j|jrjDjjzjjjjj8j jij>jjojjjjj-jj^j3u footnote_refs} citation_refs}(j]jaj]jaj]jaj ]j aj]jaj*]j,aj:]j<ajJ]jLajZ]j\ajj]jlajz]j|au autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations](jDjzjjj j>jojjjj3eautofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}jK sRparse_messages]transform_messages] transformerN include_log]ADocumentation/translations/zh_CN/process/programming-language.rst(NNNNta decorationNhhub.