#ifndef、#define、#endif
时间: 2024-09-24 19:04:08 浏览: 39
#ifndef #define #endif的用法
#ifndef、#define和#endif是预处理器指令,在C/C++编程中常用于宏定义和条件编译。它们主要用于控制程序的编译过程:
1. **#ifndef**: "ifndef"是“ifndef macro”的缩写,它的作用是在宏未定义的情况下打开一段代码。如果宏已经定义,那么这一段代码会被忽略。例如,如果要在某个特定平台下才包含某个头文件,可以先检查该宏是否已定义。
```cpp
#ifndef MY_PLATFORM
#include "platform_specific_code.h"
#endif
```
这里,如果MY_PLATFORM未定义,则会包含platform_specific_code.h。
2. **define**: "define"用于给一个标识符赋予一个值或字符串。这个操作只会在第一次遇到#define指令时生效,之后的编译器将替换所有对该宏的引用。例如定义一个常量:
```cpp
#define PI 3.14159
```
3. **endif**: "endif"是对#ifndef或ifdef的结束,表示之前那段条件代码的范围。当条件不再满足(如MY_PLATFORM被定义了)时,这部分代码块就会关闭。
```cpp
#ifndef MY_PLATFORM
#include "platform_specific_code.h"
#endif /* endif for ifndef MY_PLATFORM */
```
阅读全文