c语言的预处理命令的作用(C语言的预处理指令介绍)(1)

C 的预处理器不是编译器的组成部分,它是编译过程中一个单独的步骤,它们会指示编译器在实际编译之前完成所需的预处理。

GCC编译C语言程序的全过程

C 语言的预处理指令是以 # 号开头的代码行,# 后是指令关键字,整行语句构成了一条预处理指令,该指令将在编译器进行编译之前对源代码做某些转换。

c语言的预处理命令的作用(C语言的预处理指令介绍)(2)

下面是一些常见预处理命令的使用介绍。

#include 包含一个源代码文件

#include <stdio.h>

即从系统库中获取 stdio.h,并添加文本到当前的源文件中。

#define 定义宏

#undef 取消已定义的宏

#define MAX_NUM 99

#undef MAX_NUM

先定义宏 MAX_NUM,再取消该宏的定义。

c语言的预处理命令的作用(C语言的预处理指令介绍)(3)

#if 如果给定条件为真,则编译下面代码

#elif 如果前面的#if给定条件不为真,当前条件为真,则编译下面代码

#else 否则 (与#if对应)

#endif 结束对应的#if件编译块

这几条指令适用于条件编译,包括下面两个。

#ifdef 如果宏已经定义,则编译下面代码

#ifndef 如果宏没有定义,则编译下面代码

#ifdef DEBUG

/* Your debugging message */

#endif

如果定义了 DEBUG,则执行下面的处理语句。

#error 停止编译并显示错误信息

如果预处理方面有错误,那么就会打印#error指令后面的文本内容。

c语言的预处理命令的作用(C语言的预处理指令介绍)(4)

,