正在加载图片...
预处理指令 全局说明 子函数1 子函数n 图2.1C+程序的一个结构 2.2.2.1预处理指令 在C艹程序中,预处理指令就是源程序中所包括的各种编译命令。所有的预处理指令均 以“#”号开始进行标识,而且“#”号还必须被置于该指令所在程序行的第一列。各种预处 理指令在程序编译前执行,其作用是以中间文件的形式向编译器传递一定的信息,并不影响 源程序 引进预处理指令的目的是对C艹+程序设计环境进行扩展,使得进行程序开发时更加方便 或控制程序编译的某些流程。 下面介绍几个常用的预处理指令 1、预处理指令# include(最为常用的预处理指令) 在程序执行的过程中,经常要使用到各种编译系统提供的标准函数、类库提供的类以 及用户开发的、存放在其它文件中的变量、函数和类等。而这些变量、函数和类等的说明和 其它信息,都保存在相关的头文件(.h文件)中。为了使用头文件中定义的变量、函数和 类,必须将相应的头文件包含到要使用它们的源文件中。为此可以使用预处理指令# include, 该指令的格式为 # include< readfile.h>或# include” readfile.h” 如果头文件名是由尖猡殳括起来,则编译器将在由编译系统设定的相应子目录中去搜 索该头文件。一般用于将编译系统提供的标准头文件或类库提供的头文件包含到程序中。如 果头文件名是由引号括起来,则编译器将在当前目录中去搜索该头文件。一般用于将自己 开发的头文件包含到程序中,以调用保存在其它源文件中的变量、函数和类等。如果编译器 在相应的目录中找不到相应的头文件,将产生致命错误( fatal error) 2、条件预处理指令 由于被预处理包含指令# include所指定的头文件中也可以使用# include指令,因此就 可能岀现头文件嵌套甚至是头文件循环相互调用的情况,导致编译效率低下甚至失败的情 为了避免这种情况的发生,引入了条件预处理指令,用来标识是否已经包含了某头函 数或头函数的部分。若已经包含,则在以后遇到要求包含该头函数或部分头函数的各部分时 跳过相应的部分 条件预处理指令包括: #ifdef #ifndef #define #else #endif 例2.2条件预处理指令用法1。预处理指令 全局说明 主函数 子函数 1 . . . 子函数 n 图 2.1 C++程序的一个结构 2.2.2.1 预处理指令 在 C++程序中,预处理指令就是源程序中所包括的各种编译命令。所有的预处理指令均 以“#”号开始进行标识,而且“#”号还必须被置于该指令所在程序行的第一列。各种预处 理指令在程序编译前执行,其作用是以中间文件的形式向编译器传递一定的信息,并不影响 源程序。 引进预处理指令的目的是对 C++程序设计环境进行扩展,使得进行程序开发时更加方便 或控制程序编译的某些流程。 下面介绍几个常用的预处理指令。 1、预处理指令#include (最为常用的预处理指令) 在程序执行的过程中,经常要使用到各种编译系统提供的标准函数、类库提供的类以 及用户开发的、存放在其它文件中的变量、函数和类等。而这些变量、函数和类等的说明和 其它信息,都保存在相关的头文件(.h 文件)中。为了使用头文件中定义的变量、函数和 类,必须将相应的头文件包含到要使用它们的源文件中。为此可以使用预处理指令#include, 该指令的格式为: #include <headfile.h> 或 #include ”headfile.h” 如果头文件名是由尖括号括起来,则编译器将在由编译系统设定的相应子目录中去搜 索该头文件。一般用于将编译系统提供的标准头文件或类库提供的头文件包含到程序中。如 果头文件名是由双引号括起来,则编译器将在当前目录中去搜索该头文件。一般用于将自己 开发的头文件包含到程序中,以调用保存在其它源文件中的变量、函数和类等。如果编译器 在相应的目录中找不到相应的头文件,将产生致命错误(fatal error)。 2、条件预处理指令 由于被预处理包含指令#include 所指定的头文件中也可以使用#include 指令,因此就 可能出现头文件嵌套甚至是头文件循环相互调用的情况,导致编译效率低下甚至失败的情 况。 为了避免这种情况的发生,引入了条件预处理指令,用来标识是否已经包含了某头函 数或头函数的部分。若已经包含,则在以后遇到要求包含该头函数或部分头函数的各部分时, 跳过相应的部分。 条件预处理指令包括: #ifdef #ifndef #define #else #endif 例 2.2 条件预处理指令用法 1
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有