预处理 绝对地址访问和编译控制.ppt

第9章 预处理 绝对地址访问和编译控制 C51提供了对程序的编译预处理功能,编译预处理器是C51编译器的一个组成部分。在C51中,通过一些预处理命令可以在很大程度上为C51本身提供许多的扩充功能,增强了C51的灵活性和方便性,预处理命令是在编写程序时加在需要的地方,它只在编译时起作用,且通常是按行进行处理的,因此也称为编译控制行。 9.1预处理 C51的预处理命令类似于汇编语言中的伪指令。编译器在对整个程序进行编译之前,先对程序中的编译控制行进行预处理,然后再将预处理的结果与整个C51源程序一起进行编译,以产生目标代码。常用的预处理命令有:宏定义、文件包含和条件编译。为了与一般C51语句相区别,预处理命令由符号“#”开头。 宏定义 宏定义命令为#define,它的作用是用一个字符串来进行替换,而这个字符串既可以是常数,也可以是其他任何字符串,甚至还可以是带参数的宏。宏定义的简单形式是符号常量定义,复杂形式是带参数的宏定义。 1、不带参数的宏定义 不带参数的宏定义又称符号常量定义。 #define 标识符 常量表达式 其中,“标识符”是所定义的宏符号名(也称宏名)。它的作用是在程序中使用所指定的标识符来代替所指定的常量表达式。实际上在前面的章节中我们已经见过这种用法,例如: #define Max 0xFFFFFFFF 就是用Max这个符号来代替常数0xF

文档评论(0)

1亿VIP精品文档

相关文档