#if CONDITION
statement...
#elif CONDITION2
statement...
#else
statement...
#endif
根据条件编译对应的代码。
单分支:
#if CONDITION
//some code
#endif
双分支:
#if CONDITION
//some code
#else
//some code
#endif
多分支:
#if CONDITION1
//some code
#elif CONDITION2
//some code
#elif CONDITIONN
//some code
#else
//some code
#endif
CONDITION
可以是比较表达式
、逻辑表达式
、defined (MACRO)
CONDITION
不用括号
扩起来。
#include <stdio.h>
#if defined (__GNUC__) && defined (__GNUC_MINOR__) && defined (__GNUC_PATCHLEVEL__)
#define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
#endif
int main() {
/* Test for GCC > 3.2.0 */
#if defined(GCC_VERSION) && GCC_VERSION > 30200
printf("GCC_VERSION = %d\n", GCC_VERSION);
#endif
return 0;
}