预处理器介绍
1. 预处理器概述
预处理器是C++编译过程中的一个重要阶段,它在编译器真正处理代码之前对源代码进行预处理。预处理器的主要任务是处理以井号(#)开头的指令,这些指令被称为预处理器指令。预处理器指令不同于普通的C++代码,它们不会被编译成机器码,而是用于指导编译器如何处理源代码。
预处理器的主要职责包括:
- 文件包含:通过 #include
指令引入其他文件的内容。
- 宏定义和替换:通过 #define
指令定义符号常量或宏,用于代码替换。
- 条件编译:通过 #ifdef
、 #ifndef
、 #else
、 #endif
等指令根据条件编译代码。
- 编译器指令:通过 #pragma
指令给编译器传递特殊指示。
2. 常见的预处理器指令
2.1 文件包含
#include
指令用于引入头文件,将指定文件的内容插入到当前文件中。头文件通常包含类声明、函数原型、宏定义等。 #include
有两种形式:
- 使用尖括号:
#include <iostream>
-
引入标准库头文件,编译器会在系统的标准库路径中查找。
-
使用引号:
#include "myhe