#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是否没被定义过;

原文地址:https://www.cnblogs.com/weiyouqing/p/8995737.html