条件编译
在编译一个程序的时候可以使用条件编译指令将一组语句编译或放弃。
1
#if 常量表达式
//...
#endif
测试用例,常量表达式为真(除0外),则编译,为假(0)则不编译
#include<stdio.h>
int main() {
char arr1[] = "条件为真";
char arr2[] = "条件为假";
#if 1
printf("%s\n", arr1);
#endif
#if 0
printf("%s\n", arr2);
#endif
getchar();
return 0;
常量表达式可由预处理器求值
#define _DEBUG_ 1
#define _NDEBUG_ 0
#if _DEBUG_
//...
#endif
#if _NDEBUG_
//...
#endif
2 多个分支的条件编译
#if 常量表达式
//...
#elif 常量表达式
//...
#else
//...
#endif
3 判断是否被定义
如果
#if defined(symbol)
#ifdef symbol
//...
#endif
#if !defined(symbol)
#ifndef symbol
///...
#endif
嵌套指令
#if defined(OS1)
#ifdef OPINION1
//...
#endif
#ifdef OPINION2
//...
#endif
#elif defined(OS2)
#ifdef OPINION3
//...
#endif
#else
//...
#endif