Files
hustoj/web/cppreference-zh/chmhelp/cpp-preprocessor.html
2025-08-01 12:57:54 +08:00

66 lines
7.1 KiB
HTML

<!DOCTYPE html>
<html lang="zh" dir="ltr" class="client-nojs" xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh">
<head><meta http-equiv="x-ua-compatible" content="ie=edge">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>&#39044;&#22788;&#29702;&#22120;</title>
<link rel="stylesheet" href="ext.css" />
<link rel="stylesheet" href="site_modules.css" />
</head>
<body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-cpp_preprocessor skin-cppreference2 action-view cpp-navbar">
<div id="cpp-content-base">
<div id="content"><a id="top"></a>
<h1 id="firstHeading" class="firstHeading">&#39044;&#22788;&#29702;&#22120;</h1>
<div id="bodyContent">
<div id="contentSub"><span class="subpages">&lt; <a href="cpp.html">cpp</a></span></div>
<div id="mw-content-text" lang="zh" dir="ltr" class="mw-content-ltr" xml:lang="zh">
<p>&#39044;&#22788;&#29702;&#22120;&#22312;&#32534;&#35793;&#21069;&#30340;<a href="cpp-language-translation_phases.html">&#32763;&#35793;&#38454;&#27573; 4</a> &#25191;&#34892;&#12290;&#39044;&#22788;&#29702;&#30340;&#32467;&#26524;&#26159;&#21333;&#20010;&#25991;&#20214;&#65292;&#25509;&#19979;&#26469;&#23427;&#20250;&#34987;&#20256;&#36882;&#32473;&#23454;&#38469;&#32534;&#35793;&#22120;&#12290;</p>
<h3><span class="mw-headline" id=".E6.8C.87.E4.BB.A4">&#25351;&#20196;</span></h3>
<p>&#39044;&#22788;&#29702;&#25351;&#20196;&#25511;&#21046;&#39044;&#22788;&#29702;&#22120;&#30340;&#34892;&#20026;&#12290;&#27599;&#20010;&#25351;&#20196;&#21344;&#25454;&#19968;&#34892;&#24182;&#25317;&#26377;&#19979;&#21015;&#26684;&#24335;&#65306;</p>
<ul>
<li><code>#</code> &#23383;&#31526;</li>
<li>&#39044;&#22788;&#29702;&#25351;&#20196;&#65288;<code>define</code>&#12289;<code>undef</code>&#12289;<code>include</code>&#12289;<code>if</code>&#12289;<code>ifdef</code>&#12289;<code>ifndef</code>&#12289;<code>else</code>&#12289;<code>elif</code><span class="t-rev-inl t-since-cxx23"><span>&#12289;<code>elifdef</code>&#12289;<code>elifndef</code></span> <span><span class="t-mark-rev t-since-cxx23">(C++23 &#36215;)</span></span></span>&#12289;<code>endif</code>&#12289;<code>line</code>&#12289;<code>error</code>&#12289;<code>pragma</code> &#20043;&#19968;&#65289;<sup id="cite_ref-1" class="reference"><a href="cpp-preprocessor.html#cite_note-1">[1]</a></sup></li>
<li>&#23454;&#21442;&#65288;&#21462;&#20915;&#20110;&#25351;&#20196;&#65289;</li>
<li>&#25442;&#34892;&#31526;</li>
</ul>
<p>&#20801;&#35768;&#31354;&#25351;&#20196;&#65288;&#21363;&#22312; <code>#</code> &#21518;&#30452;&#25509;&#25442;&#34892;&#65289;&#65292;&#32780;&#23427;&#27809;&#26377;&#25928;&#26524;&#12290;</p>
<table class="t-rev-begin">
<tr class="t-rev t-since-cxx20">
<td>
<p><a href="cpp-language-modules.html"><code>module</code> &#19982; <code>import</code> &#25351;&#20196;</a>&#21516;&#26679;&#26159;&#39044;&#22788;&#29702;&#25351;&#20196;&#12290;</p>
</td>
<td><span class="t-mark-rev t-since-cxx20">(C++20 &#36215;)</span></td>
</tr>
</table>
<p>&#39044;&#22788;&#29702;&#25351;&#20196;&#19981;&#24471;&#26469;&#33258;&#23439;&#23637;&#24320;&#12290;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="co2">#define EMPTY</span>
EMPTY <span class="co2"># include &lt;file.h&gt; // &#19981;&#26159;&#39044;&#22788;&#29702;&#25351;&#20196;</span></pre></div>
</div>
<h3><span class="mw-headline" id=".E8.83.BD.E5.8A.9B">&#33021;&#21147;</span></h3>
<p>&#39044;&#22788;&#29702;&#22120;&#26377;&#33021;&#21147;&#32763;&#35793;&#28304;&#25991;&#20214;&#65306;</p>
<ul>
<li><b><a href="cpp-preprocessor-conditional.html">&#26377;&#26465;&#20214;</a></b>&#32534;&#35793;&#28304;&#25991;&#20214;&#30340;&#26576;&#20123;&#37096;&#20998;&#65288;&#30001; <code>#if</code>&#12289;<code>#ifdef</code>&#12289;<code>#ifndef</code>&#12289;<code>#else</code>&#12289;<code>#elif</code><span class="t-rev-inl t-since-cxx23"><span>&#12289;<code>elifdef</code>&#12289;<code>elifndef</code></span> <span><span class="t-mark-rev t-since-cxx23">(C++23 &#36215;)</span></span></span> &#21644; <code>#endif</code> &#25351;&#20196;&#25511;&#21046;&#65289;&#12290;</li>
<li><b><a href="cpp-preprocessor-replace.html">&#26367;&#25442;</a></b>&#25991;&#26412;&#23439;&#65292;&#21516;&#26102;&#21487;&#33021;&#23545;&#26631;&#35782;&#31526;&#36827;&#34892;&#25340;&#25509;&#25110;&#21152;&#24341;&#21495;&#65288;&#30001; <code>#define</code> &#21644; <code>#undef</code> &#25351;&#20196;&#19982; <code>#</code> &#21644; <code>##</code> &#36816;&#31639;&#31526;&#25511;&#21046;&#65289;&#12290;</li>
<li><b><a href="cpp-preprocessor-include.html">&#21253;&#21547;</a></b>&#20854;&#20182;&#25991;&#20214;&#65288;&#30001; <code>#include</code> &#25351;&#20196;&#25511;&#21046;<span class="t-rev-inl t-since-cxx17"><span>&#24182;&#20197; <code>__has_include</code> &#26816;&#26597;</span> <span><span class="t-mark-rev t-since-cxx17">(C++17 &#36215;)</span></span></span>&#65289;&#12290;</li>
<li>&#24341;&#21457;<b><a href="cpp-preprocessor-error.html">&#38169;&#35823;</a></b>&#65288;&#30001; <code>#error</code> &#25351;&#20196;&#25511;&#21046;&#65289;</li>
</ul>
<p>&#33021;&#25511;&#21046;&#39044;&#22788;&#29702;&#22120;&#30340;&#19979;&#21015;&#26041;&#38754;&#65306;</p>
<ul>
<li><b><a href="cpp-preprocessor-impl.html">&#30001;&#23454;&#29616;&#23450;&#20041;&#30340;</a></b>&#34892;&#20026;&#65288;&#30001; <code>#pragma</code> &#25351;&#20196;<span class="t-rev-inl t-since-cxx11"><span>&#21644; <code>_Pragma</code> &#36816;&#31639;&#31526;</span> <span><span class="t-mark-rev t-since-cxx11">(C++11 &#36215;)</span></span></span>&#25511;&#21046;&#65289;&#12290;</li>
<li>&#23545;&#39044;&#22788;&#29702;&#22120;&#21487;&#29992;&#30340;<b><a href="cpp-preprocessor-line.html">&#25991;&#20214;&#21517;&#21644;&#34892;&#20449;&#24687;</a></b>&#65288;&#30001; <code>#line</code> &#25351;&#20196;&#25511;&#21046;&#65289;</li>
</ul>
<h3><span class="mw-headline" id=".E8.84.9A.E6.B3.A8">&#33050;&#27880;</span></h3>
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="cpp-preprocessor.html#cite_ref-1">&uarr;</a></span> <span class="reference-text">&#36825;&#20123;&#25351;&#20196;&#26159;&#26631;&#20934;&#23450;&#20041;&#30340;&#12290;&#26631;&#20934;&#19981;&#23450;&#20041;&#20854;&#20182;&#25351;&#20196;&#30340;&#34892;&#20026;&#65306;&#23427;&#20204;&#21487;&#20197;&#34987;&#24573;&#30053;&#12289;&#25317;&#26377;&#19968;&#20123;&#26377;&#29992;&#30340;&#21547;&#20041;&#25110;&#23548;&#33268;&#32534;&#35793;&#26102;&#38169;&#35823;&#12290;&#21363;&#20351;&#24573;&#30053;&#65292;&#20063;&#20250;&#22312;&#39044;&#22788;&#29702;&#22120;&#23436;&#25104;&#24037;&#20316;&#26102;&#23558;&#23427;&#20204;&#20174;&#28304;&#30721;&#20013;&#31227;&#38500;&#12290;&#19968;&#31181;&#24120;&#29992;&#30340;&#38750;&#26631;&#20934;&#25193;&#23637;&#26159; <code>#warning</code> &#25351;&#20196;&#65292;&#23427;&#22312;&#32534;&#35793;&#26399;&#38388;&#25918;&#20986;&#19968;&#26465;&#29992;&#25143;&#23450;&#20041;&#30340;&#28040;&#24687;&#12290;</span></li>
</ol>
<h3><span class="mw-headline" id=".E5.8F.82.E9.98.85">&#21442;&#38405;</span></h3>
<table class="t-dsc-begin"></table>
</div>
<div class="visualClear"></div>
</div>
</div>
</div>
</body>
</html>