zl程序教程

您现在的位置是:首页 >  工具

当前栏目

《迷人的8051单片机》----3.5 预处理命令

2023-09-11 14:16:10 时间

本节书摘来自华章出版社《迷人的8051单片机》一书中的第3章,第3.5节,作者高显生,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.5 预处理命令

在编写程序时,经常会使用以“#”开头的预处理命令。在对程序进行编译时,会有专门的预处理程序来对这些命令进行处理。预处理命令不属于C语句,因此在行末不必加分号,而且预处理命令通常要放在程序的最前面。在C程序中加入预处理命令可以改善程序结构,提高编译效率。C语言提供的预处理命令主要有宏定义、文件包含和条件编译3种,以下我们要重点介绍前面两种。

3.5.1 宏定义

宏定义的作用是用一个标识符(宏名)来表示一个字符串,其格式为:
#define 标识符(宏名) 字符串
在宏定义中,“#”表示这是一条预处理命令,“define”为宏定义命令。标识符是我们自行定义的宏名,字符串可以是常数或表达式等。宏定义的方法可以参考以下代码:

#define PI 3.141592 //用PI来表示3.1415926 这个常量

#define M ( X*Y+8Y ) //用M 来表示(X*Y+8Y) 这个表达式

#define uint unsigned int //用uint表示unsigned int

使用宏定义的方法可以增强代码的可读性,并且能使语句变得简洁明了。

3.5.2 文件包含

文件包含的作用是将另外一个文件的内容复制到包含命令所在的位置,从而将指定的文件和当前的源程序文件连接成一个源文件。文件包含的格式为:
#include 文件名
文件包含也可以使用这样的格式:
#include “文件名”
在以上两种格式中,使用尖括号与引号的意义是不同的。使用尖括号时,程序首先在编译器头文件所在目录下搜索头文件;而使用引号时,程序首先搜索项目文件所在目录,然后再搜索编译器头文件所在目录,两者的搜索顺序刚好相反。文件包含的方法可以参考以下代码:
#include reg52.h //包含增强型8051单片机的头文件
在上述代码中,include 的作用是将“reg52.h”这个头文件连接到本程序中,用于对8051单片机的各个寄存器进行规范化定义。


《迷人的8051单片机》——导读 电子与嵌入式系统设计丛书 迷人的8051单片机 高显生 编著 图书在版编目(CIP)数据 迷人的8051单片机/高显生编著. —北京:机械工业出版社,2016.8 (电子与嵌入式系统设计丛书) ISBN 978-7-111-54565-1