#if...#endif,#if...#else #endlif的区别和作用
介绍
#if和#endif是一组同时使用的,叫做条件编译指令,是由预处理器这个工具处理的,预处理器可以在编译前处理c程序。
常用的例子
-
#if 表达式
程序段1
#else
程序段2
#endif
如果表达式为真就编译程序段1,表达式为假则编译程序段2
#endif不可以省略 -
#ifdef 标识符
程序段1
#else
程序段2
#endif
表示如果标识符已经被#define命令定义过,则编译程序段1,否则编译程序段2 -
#if 0
程序段
#endif
这样写一般是为了起到注释作用,一般是为了解决/* … */不能嵌套注释的问题,嵌套使用编译器会报错只能识别*/后面第一个出现的*/而使用#if 0 … #endif就可以和/*…*/一起嵌套使用。工程上常使用这个是因为方便调试,代码如果后续要使用只需把0变为1即可