#ifdef 中的逻辑与或操作

关键字:ifdef 逻辑与或 编译预处理

转自:http://blog.chinaunix.net/uid-126438-id-2924676.html

 

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

#ifndef A

// codes

#endif // A

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

#ifndef A && ifdef B

其实应该这样:

#if (!defined A) && (defined B)

// codes

#endif // !A && B

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

posted on 2012-05-26 23:40  qinfengxiaoyue  阅读(3441)  评论(0编辑  收藏  举报