如果__MACRO已经被定义,编译code block 0,如果boolean_expr为真,编译code block 1,否则编译code block2
#ifdef __MACRO // 若表示没有定义则 #ifndef __MACRO
// code block 0
#elif boolean_expr
// code block 1
#else
// code block 2
#endif
如果__Var > 5,编译code block 1,如果__Var != 0,编译code block 2,,否则编译code block 3
#if __Var > 5
// code block 1
#elif __Var
// code block 2
#else
// code block 3
#endif