<title>C compiler preprocessors</title>
<head>
<script language="JavaScript">
</script>
</head>
<body bgcolor="#ffffcc">
<hr>
<center>
<h1>C compiler preprocessors</h1>
</center>
<hr>

Preprocessor commands are executed before the compiler compiles the
source code. These commands will change the original code usually to 
suit the operating environment and/or to add code that will be required by
calls to library functions. Preprocessors are recognised by the leading 
# in their names. 
<p>
<table border=2 bgcolor=ivory>
<Caption>Preprocessors</caption>
<tr>
<td><a href="include_preprocessor.html">#include</a> <td>Insert a source file.
<tr>
<td><a href="define_preprocessor.html">#define</a> <td>Define a preprocessor
constant.
<tr>
<td><a href="../EXAMPLES/if_else_endif.c">#if</a> <td>Branch based on an expression.
<tr>
<td>#ifdef <td>Branch if preprocessor constant has been defined?
<tr>
<td><a href="../EXAMPLES/ifndef.c">#ifndef</a> <td> Branch is a preprocessor
constant has NOT been defined.
<tr>
<td>#line <td> Specify the number of the next source line.
<tr>
<td>#undef <td> Remove a preprocessor constant.
<tr>
<td>#pragma<td> Perform an implementation dependent action???
<tr>
<td><a href="../EXAMPLES/if_else_endif.c">#else</a> <td> Executed if #if
#ifdef or #ifndef fails.
<tr>
<td>#error <td> Write an error message.
<tr>
<td>#elif <td> Executed when an #if fails.
<tr>
<td><a href="../EXAMPLES/if_else_endif.c">#endif</a> <td>Close #if #ifdef or
#ifndef
</table>
<hr>
<H2>Notes:</H2>
<ul>
<li>Preprocessors should start in column 1.
<li>The -E option tells gcc to stop after the preprocessor stage and send the 
O/P to STDOUT (usually the screen).
</ul>


<p>

<hr>
<p>
<center>
<table border=2 width="80%" bgcolor="ivory">
<tr align=center>
<td width="25%">
<a href="../cref.html">                  Top</a>
</td><td width="25%">
<a href="../master_index.html">          Master Index</a>
</td><td width="25%">
<a href="keywords.html">                 Keywords</a>
</td><td width="25%">
<a href="../FUNCTIONS/funcref.htm">      Functions</a>
</td>
</tr>
</table>
</center>
<p>
<hr>
<address>Martin Leslie 
</address><p>
</body>
</html>
tation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt'>
<select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='search' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/cgit.cgi/linux/net-next.git/log/'>root</a>/<a href='/cgit.cgi/linux/net-next.git/log/Documentation'>Documentation</a>/<a href='/cgit.cgi/linux/net-next.git/log/Documentation/devicetree'>devicetree</a>/<a href='/cgit.cgi/linux/net-next.git/log/Documentation/devicetree/bindings'>bindings</a>/<a href='/cgit.cgi/linux/net-next.git/log/Documentation/devicetree/bindings/pinctrl'>pinctrl</a>/<a href='/cgit.cgi/linux/net-next.git/log/Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt'>nvidia,tegra20-pinmux.txt</a></div><div class='content'><table class='list nowrap'><tr class='nohover'><th class='left'>Age</th><th class='left'>Commit message (<a href='/cgit.cgi/linux/net-next.git/log/Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt?showmsg=1'>Expand</a>)</th><th class='left'>Author</th><th class='left'>Files</th><th class='left'>Lines</th></tr>