C中#if 0 和#if 1&&#ifdef, #else, #endif, #if详细
来源:互联网 发布:手机绘画软件下载 编辑:程序博客网 时间:2024/05/22 16:47
当注释掉大块代码时,使用"#if 0"比使用"/**/"要好,因为用"/**/"做大段的注释要防止被注释掉的代码中有嵌套的"/**/",这会导致注释掉的代码区域不是你想要的范围, 当被注释掉的代码很大时容易出现这种情况,特别是过一段时间后又修改该处代码时更是如此。
在这里顺便对条件编译(#ifdef, #else, #endif, #if等)进行说明。以下分3种情况: 1. 情况1: #ifdef _XXXX ...程序段1... #else ...程序段2... #endif 这表明如果标识符_XXXX已被#define命令定义过则对程序段1进行编译;否则对程序段2进行编译。 例: #define NUM ............. ............. ............. #ifdef NUM printf("之前NUM有过定义啦!:) \n"); #else printf("之前NUM没有过定义!:( \n"); #endif } 如果程序开头有#define NUM这行,即NUM有定义,碰到下面#ifdef NUM的时候,当然执行第一个printf。否则第二个printf将被执行。 我认为,用这种,可以很方便的开启/关闭整个程序的某项特定功能。
2:情况2: #ifndef _XXXX ...程序段1... #else ...程序段2... #endif 这里使用了#ifndef,表示的是if not def。当然是和#ifdef相反的状况(如果没有定义了标识符_XXXX,那么执行程序段1,否则执行程序段2)。例子就不举了。3:情况3:
#if 常量
...程序段1...
#else
...程序段2...
#endif
这里表示,如果常量为真(非0,随便什么数字,只要不是0),
就执行程序段1,否则执行程序段2。
如果有#if需要顶格写
0 0
- C中#if 0 和#if 1&&#ifdef, #else, #endif, #if详细
- #ifdef,#else,#if,#endif
- C中#if 0 ---#endif和#if 1 ---#endif
- C中#ifdef、#endif、+1、#if defined
- #ifdef #else #endif #if #ifndef
- 关于#ifdef,#else,#endif,#if
- #ifdef(#ifndef), #if, #else, #endif
- #if 1 #else if 0 #endif用法
- #if 1 #else if 0 #endif用法
- C:if 0 #endif和:#if 1 #endif
- C 语言编程 #if 0 #endif和:#if 1 #endif
- #ifdef,#else,#if,#endif (转载)
- #ifdef,#else,#endif,#if用法详解(转)
- #ifdef,#else,#endif,#if用法详解(转)
- #ifdef #ifndef #endif #define #if #else
- #ifdef,#else,#endif,#if用法详解(转)
- #ifdef,#else,#endif,#if用法详解
- #ifdef,#else,#endif,#if用法详解(转)
- 顺序栈
- 从零开始学Scala系列(五)之集合2--Set和Map
- Intellij IDEA如何像eclipse那样自动完成代码的补全
- eclipse 创建maven web项目
- caffe安装过程详解linux版本
- C中#if 0 和#if 1&&#ifdef, #else, #endif, #if详细
- 制作自己的python版本的类CIFAR10数据集
- 深度学习Dya1-初识Python(Python环境搭建及numpy、matplotlib包安装)
- CentOS6.5安装Mysql数据库
- HDU6027 Easy Summation
- css选择器
- fl2440 platform 按键驱动的制作和测试
- Thread同步—锁、信号量
- ESP8266交叉编译器xtensa-lx106-elf 在Linux下编译与生成