#if 0 /#if 1作用与用法

转载 2012年03月21日 15:25:30

转自:http://www.cppblog.com/Joe/archive/2011/05/24/147036.aspx

当注释掉大块代码时,使用"#if 0"比使用"/**/"要好,因为用"/**/"做大段的注释要防止被注释掉的代码中有嵌套的"/**/",这会导致注释掉的代码区域不是你想要的范围,当被注释掉的代码很大时容易出现这种情况,特别是过一段时间后又修改该处代码时更是如此。

#if 0 / #if 1是支持嵌套的。

  在这里顺便对条件编译(#ifdef, #else, #endif, #if等)进行说明。以下分3种情况:

一、1. 情况1:
  #ifdef _XXXX
      ...程序段1...
  #else
      ...程序段2...
  #endif
  这表明如果标识符_XXXX已被#define命令定义过则对程序段1进行编译;否则对程序段2进行编译。

  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。

二、 嵌套情况

     1、情况1

      #if 常量a

      ...程序段1...
      #else

            #if 常量b
            ...程序段2...
            #else
           ...程序段3...
       #endif

  #endif

这里表示,如果常量a为真(非0,随便什么数字,只要不是0),就执行程序段1。当常量a为0,常量b为真时,执行程序段2;当常量a为0,常量b为0时,执行程序段3;

  

相关文章推荐

【C基础】#if、if、#ifdef、#if defined之间的区别

#if的使用说明#if的后面接的是表达式#if (MAX==10)||(MAX==20) code... #endif它的作用是:如果(MAX==10)||(MAX==20)成立,那么编译器就会把其...

【STM32】使用keil提供的JSON库——Jansson

在这篇文章中博主简单介绍了如何把cJSON移植到STM32上,实际上,keil环境下已经有官方的JSON库了——Jansson。下面是讲解如何导入和使用Jansson。

ARM指令系统

第3章 ARM指令系统 3.1  ARM处理器的指令格式 3.1.1  ARM指令集的特点 第3章 ARM指令系统 第3章 ARM指令系统 3.1  ARM处理器的指令格式 ...

linux下编程实现mplayer播放器主文件main.c

linux下编程实现mplayer播放器主文件main.c这是我写该项目的主文件,我贴上来主要是自己以后有时间了回头看看,还有自己刚开始学习linux,肯定有好多编程问题,希望好心人能指出。主文件mp...

文章标题

“#if 0/#if 1 … #endif”的作用 今看到一帖子,讨论“#if 0/#if 1 … #endif”的作用,感觉不错,故拿来分享。 原...

“#if 0/#if 1 ... #endif”的作用

今天用到  #if 0/#if 1 ... #endif,一时buming

#if 0 ... #endif的真实用途

在过去都没有去理会#if 的作用,今天突发奇想,开启编译器试一试。 很多人都知道,#if  0  ...   #endfif的作用跟/*...*/的作用是一样的,就是注释,可是注释为什么不用注释符号...

#if 1 #else if 0 #endif用法

今天在看程序时,发现一个函数中使用的很多的  #if 1 ...... #endif #if 0 ...... #endif 因为没有用过,感到有点莫名。如是...

对于语音识别测试的学习与思考(二)

本系列文章来源江苏润和软件股份有限公司 - 智能终端事业本部测试团队内部测试人员互动分享邮件 如果有任何利益侵犯,请联系我即刻删除文章 ALL, 中午张倬提到了麦克风阵列...

“#if 0/#if 1 ... #endif”的作用

先声明,本文涉及到的知识是之前搜集到的,现在整理出来分享大家,虽然打上原创的tag,但还是向原创致敬!如果涉及到侵权的问题,请联系我,我会及时更改! 1、先说“#if 0/#if 1 ....
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)