admin管理员组文章数量:1026989
C语言中宏定义宏编译的使用#if,#ifdef,#ifndef,#elif,#else,#endif,defined使用详解,可以实现和if else一样的效果
#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一样的效果
#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语言中宏定义宏编译的使用ififdefifndefelifelse
版权声明:本文标题:C语言中宏定义宏编译的使用#if,#ifdef,#ifndef,#elif,#else,#endif,defined使用详解,可以实现和if else一样的效果 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/IT/1687190556a74287.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论