#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"

  

posted @ 2020-11-04 17:31  wdliming  阅读(99)  评论(0编辑  收藏  举报