#if else #endif
时间: 2024-05-24 19:09:43 浏览: 163
#if、#else、#endif 是 C/C++ 语言中的条件编译指令,它们可以根据条件选择性地编译代码。
#if 指令用于指定一个条件,如果这个条件为真,则编译从 #if 到下一个 #else 或 #endif 之间的代码;否则,忽略这些代码。
例如:
```
#if defined(__cplusplus)
extern "C" {
#endif
// 这里是一些 C 语言代码
#if defined(__cplusplus)
}
#endif
```
上面的代码中,如果定义了 __cplusplus 宏,那么 extern "C" 和 } 都会被编译进去,否则就会被忽略掉。
#else 指令用于在条件不成立时执行一些其他的代码。例如:
```
#if defined(__cplusplus)
extern "C" {
#else
// 这里是一些 C 语言代码
#endif
// 这里是一些代码
#if defined(__cplusplus)
}
#endif
```
上面的代码中,如果定义了 __cplusplus 宏,那么 extern "C" 和 } 都会被编译进去,否则就会编译 #else 到 #endif 之间的代码。
#endif 指令用于结束一个条件编译块。例如:
```
#ifdef DEBUG
printf("Debugging information:\n");
#endif
// 这里是一些代码
#ifndef NDEBUG
printf("Program finished.\n");
#endif
```
上面的代码中,如果定义了 DEBUG 宏,那么第一行的代码会被编译进去;如果定义了 NDEBUG 宏,则最后一行的代码会被忽略掉。
阅读全文