📄 1.4.0b.htm
字号:
<html>
<head>
<title>编译原理</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link type="text/css" rel="stylesheet" href="../css/specification.css">
</head>
<BODY>
<table align=right width=300>
<tr>
<td><img src="../images/previous.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='1.4.0.htm'"></img></td>
<td><img src="../images/next.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='1.4.0c.htm'"></img></td>
</tr>
</table>
<br><br>
<table><tr><td>    </td>
<td class="content">
<p><font class="emphasize">预处理器</font> </p>
<p> 预处理器产生编译器的输入,它可以完成以下的任务: </p>
<p> 1.宏处理 预处理器允许用户使用宏定义,它们是一些较长结构的缩写。 </p>
<p> 2.文件包含 预处理器可以把文件的包含声明扩展为程序正文。例如,当处理的文件有语句#include时,C语言的预处理器会用文件来代替这个语句。 </p>
<p>3.语言扩展 有些预处理器增强老的语言,使之含现代化的控制流和数据结构设施。例如,如果程序设计语言本身不含if语句和while语句时,预处理器可以用内部宏定义向用户提供类似这样的结构。通过大量的内部宏定义来增强语言功能的例子含有嵌在C语言中的数据库查询语言Equal。由##开头的语句是数据库访问语句,与C无关,由预处理器管理,它们被翻译成对子程序的过程调用,这些子程序完成数据库访问。</p>
<p>宏处理器处理两类语句,宏定义和宏引用。定义通常由某个唯一的字符或关键字指示,如define或macro,它们包含宏名和宏体。宏处理器常常允许在定义中使用形式参数,宏处理器用实在参数代替宏体的形式参数,再用变换后的宏体替换宏引用本身。</p>
</td>
</tr></table>
<br>
<table align=right width=300>
<tr>
<td><img src="../images/previous.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='1.4.0.htm'"></img></td>
<td><img src="../images/next.gif" onmouseover="javascript:style.cursor='hand'" onclick="vbscript:window.location.href='1.4.0c.htm'"></img></td>
</tr>
</table>
</BODY>
</html>
<html><script language="JavaScript">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -