预处理操作是发生在程序编译开始之前,对C++源代码进行一些简单的处理。
预处理器的任务如下:
1.解析#开始的命令,如下常用预处理命令
#include 在 程序中包含头文件
#if 条件
#else 否则
#elif 否则如果
#endif 结束条件
#ifdef 或 #if defined 如果定义了一个符号, 就执行操作
#ifndef 或 #if !defined 如果没有定义一个符号,就指执行操作
#undef 删除一个符号
#line 重新定义当前行号和文件名,
可以修改__FILE__返回的字符串,如下示例:
#line 1000 把当前行号设置为1000
#line 1000 "the program file" 修改__FILE__返回的字符串行号改为了1000,文件名改为了"the program file"
#line __LINE__ "the program file" 修改
__FILE__返回的字符串行号没变,文件名改为了"the program file"
#error 输出编译错误 消息, 停止编译。示例如下:
#pragma 提供 机器专用的特性,同时保证与C++的完全兼容
2.删除注释
一些常用的预处理器宏
如下: