#if defined——Preprocessing directives的使用

原文:https://stackoverflow.com/questions/9946108/if-defined-x-y-is-this-valid

下面的示例显示||的更常见用法 和&&操作符针对#defined宏:

#define AA  1
#define BB  2
#if (defined AA) || (defined BB)
    #warning "A or B"
#endif
#if (defined AA) && (defined BB)
    #warning "A and B"
#endif
当上面的代码运行时,用户将在屏幕上看到以下消息:

#warning "A or B"
#warning "A and B"
但是,如果代码是这样的(AA未定义):

#undefine AA
#define BB  2
#if (defined AA) || (defined BB)
    #warning "A or B"
#endif
#if (defined AA) && (defined BB)
    #warning "A and B"
#endif
然后用户将收到以下消息:

#warning "A or B"

  

原文地址:https://www.cnblogs.com/CodeWorkerLiMing/p/13927018.html