1、#endif
#endif用于结束条件编译,编译时与前面最近的#if、#ifdef或#ifndef作为一对,经常一起使用,编译两者之间的部分程序段。
2、#if
#if xxx //若xxx为真,则执行code1部分
code1 ...
#elif YYY //若YYY为真,则执行code2部分
code2 ...
#else ZZZ //无条件执行code3部分
code3 ...
#endif
xxx,YYY,ZZZ都可以为判断表达式
3、#define 与 #undef
#define <宏名>(参数表) <宏体> //带参数的宏定义
#undef <宏名> //取消宏定义
4、#ifdef 与 #ifndef
#ifdef xxx //若xxx被defined 定义过则执行code部分,
code ...
#endif
#ifdef xxx //若xxx没有被defined 定义过则执行code部分,
code ...
#endif
5、#if defined 与 #if !defined
#if defined xxx1 //此时这条语句相当于#ifdef xxx1
code ...
#elif defined (xxx2) && xxx3 //这条语句首先判断xxx2是否被定义(若被定义则 defined (xxx2)为1,若没有定义则defined (xxx2)为0),
//然后用判断的结果与xxx3做与运算
code ...
#endif
#if !defined xxx1 //此时这条语句相当于#ifndef xxx1
code ...
#elif !defined (xxx2) && xxx3 //这条语句首先判断xxx2是否被定义(若没有被定义则 defined (xxx2)为1,若定义过则defined (xxx2)为0),
//然后用判断的结果与xxx3做与运算
code ...
#endif