#if 条件编译

Posted 唯一诺

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#if 条件编译相关的知识,希望对你有一定的参考价值。

1.格式:

#if  constant-expression
         statements
#elif constant-expression
       statements
#else
       statements
#endif

其中 constant-expression(常量表达式:字面值常量,或者一个有#define定义的符号)由预处理器进行求值;

  如果值为非零值,则statements被正常编译;

注意:

  这里#elif 出现的次数不限制,每个constant-expression (常量表达式) 只有当前面所有的常量表达式的值都是假时,才会被编译;

  #else只有前面所有的常量表达式都是假时,才会被编译;

  其他情况下都会被忽略;

2.是否被编译

#if defined(symbol)

#endif


#ifdef symbol

#endif

以上两句都是判断symbol是否被定义过;

#if !defined(symbol)

#endif


#ifndef symbol

#endif

以上两句都是判断symbol是否没被定义过;

 

以上是关于#if 条件编译的主要内容,如果未能解决你的问题,请参考以下文章

在 JSP 中的 <% %> 代码片段中添加链接

#if, #elif, #else, #endif 使用

C# 条件编译 (#if 和 Conditional)

C# 条件编译 (#if 和 Conditional)

C# 条件编译 (#if 和 Conditional)

C语言 预处理三(条件编译--#if)