预处理命令
这些预处理命令是由ANSI C统一规定的。编译程序不能识别预处理命令。C语言的一个重要特征是它的预处理功能。C语言允许在源程序中包含预处理命令。编译预处理。编译预处理。预处理命令不是C语言本身的组成部分。对这些命令进行预处理。然后将预处理的结果和源程序一起再进行通常的编译处理。C提供的编译预处理命令。第9章 预处理命令。
预处理命令Tag内容描述:<p>1、第九章 预处理命令,概 述 ANSI C标准规定可以在C源程序中加入一些“预处理命令”(preprocessor directives),以改进程序设计环境,提高编程效率。这些预处理命令是由ANSI C统一规定的,但它们不是C语言本身的组成部分,更不是C语句。编译程序不能识别预处理命令,它们必须在对程序进行通常的编译(包括词法和语法分析、代码生成、优化等)之前被“预处理” ,即在编译前先根据预处理命令的要求对程序做出相应的处理。 经过预处理后,程序不再含有预处理命令了,然后再由编译程序对预处理后的源程序进行通常的编译处理,得到目标代码。,。</p><p>2、第4章:之预处理命令,学习的意义,C语言的一个重要特征是它的预处理功能。我们知道,一个高级语言源程序在计算机上运行,必须先用编译程序将其翻译为机器语言。编译包括词法分析、语法分析、代码生成、代码优化等步骤,有时在编译之前还要做某些预处理工作,如去掉注释,变换格式等。C语言允许在源程序中包含预处理命令,在正式编译之前(词法分析之前)系统先对这些命令进行“预处理”,然后再对整个源程序进行通常的编译处理。从语法上讲,这些预处理命令不是C语言的一部分,但使用它们却扩展了C语言程序设计的环境,可以简化程序开发过。</p><p>3、第九章 预处理命令,主要内容,9.1 宏定义 9.2 “文件包含”处理 9.3 条件编译,C程序上机步骤:,编辑,链接,编译,执行,程序代码的录入,生成源程序*.cpp(VC+)或*.c(TC)。,语法分析查错,翻译生成目标程序*.obj 。,运行程序,得到程序结果。,与其它目标程序或库链接,生成可执行程序*.exe 。,导读,C语言提供了一些以#开头的指令,如: #define #include 等。 这些指令是在编译以前就事先进行处理的,因而称为“编译预处理”指令。 可以用编译预处理指令实现以下三种功能: (1) 宏定义 (2) 文件包含 (3) 条件编译,导读,1、不带参的宏定义 用一个指。</p><p>4、第9章预处理命令,9.1编译预处理,“编译预处理”是C与其它高级语言的一个重要区别。,宏定义;,文件包含;,条件编译;,1.宏定义,1)不带参数的宏定义,用指定的标识符(宏名)代表一个常量或字符串:,#define标识符常量/字符串。</p><p>5、预处理命令,编译预处理,预处理命令不是C语言本身的组成部分,不能直接进行编译(编译程序不能识别)必须在进行通常编译前之前,对这些命令进行预处理:编译预处理。然后将预处理的结果和源程序一起再进行通常的编译处理,以得到目标代码.obj文件。,file.c,file.c,file.obj,C提供的编译预处理命令:宏命令文件包含命令条件编译命令这些命令均以#开头,以区别于语句。,宏(Macro),不。</p><p>6、9.1宏定义 9.2“文件包含”处理 9.3条件编译,第9章 预处理命令,C提供的预处理功能主要有以下三种: 1. 宏定义 2. 文件包含 3. 条件编译 分别用宏定义命令、文件包含命令、条件编译命令来实现。 为了与一般C语句相区别,这些命令以符号“#”开头。,9.1 宏定义,9.1.1 不带参数的宏定义 用一个指定的标识符(即名字)来代表一个字符串,它的一般形式为#define 标识符字符串。这。</p><p>7、第9章、前处理指令、本章要点、前处理的概念c语言处理系统的前处理功能前处理指令的使用、主要内容、9.1宏定义9.2“包含文件”处理9.3条件编译、基本概念、ANSI C标准规定在源程序中加入“前处理指令”, 这些预处理命令可以改进程序,这些命令由ANSI C统一,但不是c语言本身的一部分,编译器无法直接编译(因为编译器无法识别)。 在通常编译程序之前,对程序中的这些特殊指令进行“预处理”而预处理。</p><p>8、第九章 预处理命令,C语言程序设计,2,本章主要内容,宏定义 文件包含 条件编译,3,预处理命令,预处理命令是指编译程序前事先对程序进行的加工处理工作 操作:由编译系统中的预处理程序进行 目的:改进程序设计环境,提高编程效率 语法: 由#开头的关键字,末尾不加分号 位置:程序的任何位置,4,预处理命令,预处理命令分类: 宏定义:用宏来代替指定内容 文件包含:将另一个文件的内容复制到本文件 条件编译。</p>