c语言中的文件预处理是指在进行编译的第一遍扫描即词法扫描和语法分析之前所作的工作。
预处理是C语言的一个重要功能, 它由预处理程序负责完成,当对一个源文件进行编译时, 系统将自动引用预处理程序对源程序中的预处理部分作处理, 处理完毕自动进入对源程序的编译。
预处理 功能主要包括: 宏定义,文件包含,条件编译三部分。 分别对应宏定义命令,文件包含命令,条件编译命令 三部分实现。 预处理过程读入源代码,检查包含预处理指令的语句和宏定义, 并对源代码进行响应的转换。预处理过程还会删除程序中的注释 和多余的空白字符。 预处理指令是以#号开头的代码行。 #号必须是该行除了任何空白字符外的第一个字符。 #后是指令关键字,在关键字和#号之间允许存在任意 个数的空白字符。整行语句构成了一条预处理指令, 该指令将在编译器进行编译之前对源代码做某些转换。 指令 用途 # 空指令,无任何效果 #include 包含一个源代码文件 #define 定义宏 #undef 取消已定义的宏 #if 如果给定条件为真,则编译下面代码 #ifdef 如果宏已经定义,则编译下面代码 #ifndef 如果宏没有定义,则编译下面代码 #elif 如果前面的#if给定条件不为真,当前条件为真,则编译下面代码 #endif 结束一个#if……#else条件编译块 #error 停止编译并显示错误信息 #else 条件编译的否则选项 #error 指令将使编译器显示一条错误信息,然后停止编译。 #line 指令可以改变编译器用来指出警告和错误信息的文件号和行号。 #pragma 指令没有正式的定义。编译器可以自定义其用途。典型的用法是禁止或允许某些烦人的警告信息。 文件包含 在程序中包含头文件有两种格式: #include
C语言的预处理主要有三个方面的内容: 1.宏定义; 2.文件包含; 3.条件编译。 预处理命令以符号“#”开头。 宏定义命令:#define、#undef,用来定义和解除宏。(值得注意的是还可以定义带参数的宏) 文件包含命令:#include "文件名" 或者 #include <文件名>。使用前者时会优先从当前目录查找头文件,使用后者时优先从默认的系统目录查找。 条件编译:#ifdef、#else、#endif、#elif 等。出于程序兼容性的考虑,有些语句希望在条件满足时才编译。这时候会用到条件编译的命令。
预处理命令是以“#”号开头的命令,它们不是C语言的可执行命令,这些命令应该在函数之外书写,一般在源文件的最前面书写,称为预处理部分。在C编译系统编译源程序之前,先要对源程序中的预处理命令进行处理,处理完毕之后才能对源程序进行编译。在全屏幕编辑环境下,预处理是在编译之前自动由系统处理的。 因为大多数程序都用这个printf函数,而这个函数的头文件是“stdio.h”,所以一般要包括上。
到此,以上就是小编对于c语言的预处理命令有哪些类型的问题就介绍到这了,希望这3点解答对大家有用。
新闻名称:c语言的预处理命令有哪些
链接URL:http://www.shufengxianlan.com/qtweb/news49/467999.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联