用#if实现3个分支以上宏定义判断
在实际开发过程中经常会用到宏定义的判断,尤其是在硬件平台和软件平台较多的情况下,宏定义可以很好地在不同平台下条件编译,通常 #ifdef 智能实现单一的判断 下面利用 #if defined 实现3个分支以上的条件编译
#include <stdio.h>
int main(void)
{
// 二值条件编译
#ifdef TEST1
printf("defined TEST1 %d \n",__LINE__);
#else
printf("defined other %d \n",__LINE__);
#endif
// 3个以上的调试编译
#if defined(TEST1)
printf("defined TEST1 %d \n",__LINE__);
#elif defined(TEST2)
printf("defined TEST2 %d \n",__LINE__);
#elif defined(TEST3)
printf("defined TEST3 %d \n",__LINE__);
#else
printf("defined TEST4 %d \n",__LINE__);
#endif
}