#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
C语言中宏定义宏编译的使用#if #ifdef #ifndef #elif #else #endif defined使用详解 可以实现和if else一样的效果