#define AA 0
#define BB 1
#define CC
//defined判断宏是否已经define定义过,不管定义成什么,即便是定义为空都是是有效的
#if defined(AA)
...//要执行
#endif
#if defined(BB)
...//要执行
#endif
#if defined(CC)
...//还是要执行
#endif
#if AA
...//不执行
#endif
#if BB
...//要执行
#endif
#if CC//CC未定义,编译都不能通过
...
#endif