条件编译是指预处理器根据条件编译指令,有条件地选择源程序代码中的一部分代码作为输出,送给编译器进行编译。主要是为了有选择性地执行相应操作,防止宏替换内容(如文件等)的重复包含。常见的条件编译指令如下表所示。
| 条件编译指令 | 说 明 |
|---|---|
| #if | 如果条件为真,则执行相应操作 |
| #elif | 如果前面条件为假,而该条件为真,则执行相应操作 |
| #else | 如果前面条件均为假,则执行相应操作 |
| #endif | 结束相应的条件编译指令 |
| #ifdef | 如果该宏已定义,则执行相应操作 |
| #ifndef | 如果该宏没有定义,则执行相应操作 |
#if-#else-#endif
其调用格式为:
#if 条件表达式 程序段1 #else 程序段2 #endif
功能为:如果#if后的条件表达式为真,则程序段 1 被选中,否则程序段 2 被选中。
注意,必须使用 #endif 结束该条件编译指令。