#ifdef 中的逻辑与或操作

原本用宏定义包起来的代码类似如下:

#ifndef A
// codes
#endif // A

现在要加入一个宏定义 B,实现类似这样的条件判断(显然实际上这样是不行的):

#ifndef A && ifdef B

其实应该这样:

#if (!defined A) && (defined B)
// codes
#endif // !A && B

这就修正了之前一直以为的“既生 #ifdef,何生 #if defined”的思维,其实还是有差别的

trackback: http://wutiam.net/2009/08/logical-and-or-operation-in-ifdef/

posted @ 2011-08-24 23:21  大有|元亨  阅读(705)  评论(1编辑  收藏  举报