#define 定义一个预处理宏
#undef 取消宏的定义
#if 编译预处理中的条件命令,相当于C语法中的if语句
#ifdef 判断某个宏是否被定义,不能或运算,若已定义,执行随后的语句
#ifndef 与#ifdef相反,判断某个宏是否未被定义,不能或运算
#elif 若#if, #ifdef, #ifndef或前面的#elif条件不满足,则执行#elif之后的语句,相当于C语法中的else-if
#else 与#if, #ifdef, #ifndef对应, 若这些条件不满足,则执行#else之后的语句,相当于C语法中的else
#endif #if, #ifdef, #ifndef这些条件命令的结束标志.
defined 与#if, #elif配合使用,判断某个宏是否被定义
一般使用结构如下:
#define EX_APPENDIX_A
#define EX_APPENDIX_D1
#ifdef EX_APPENDIX_A
MeasureTimeStart();
res[0] = RTA(Smix,n);
tTmp[0] = MeasureTimeEnd();
#elif defined EX_APPENDIX_B || defined EX_APPENDIX_D1 //除了加或,还能用与等逻辑符号
MeasureTimeStart();
res[0] = RM(Smix,n,4);
tTmp[0] = MeasureTimeEnd();
#else
MeasureTimeStart();
res[0] = RTA(Smix,n,0);
tTmp[0] = MeasureTimeEnd();
#endif