在编译一个程序的时候我们如果要将一条语句(一组语句)编译或者放弃是很方便的。因为我们有条件编译指令,比如说
调试性的代码,删除可惜,保留又碍事,所以我们可以选择性编译。
#include<stdio.h>
#define COND 1
int Add(int x, int y){
#if COND
printf("x=%d y=%d\n", x, y);//观察是否赋值成功
#endif
return x + y;
}
int main(){
printf("%d\n", Add(12, 2));
system("pause");
return 0;
}
常见的条件编译指令如下
1.
#if 常量表达式
//...
#endif
//常量表达式由预处理器求值。
如:
#define __DEBUG__ 1
#if __DEBUG__
//..
#endif
2.多个分支的条件编译
#if 常量表达式
//...
#elif 常量表达式
//...
#else
//...
#endif
3.判断是否被定义
#if defined(symbol)
#ifdef symbol
#if !defined(symbol)
#ifndef symbol
4.嵌套指令
#if defined(OS_UNIX)
#ifdef OPTION1
unix_version_option1();
#endif
#ifdef OPTION2
unix_version_option2();
#endif
#elif defined(OS_MSDOS)
#ifdef OPTION2
msdos_version_option2();
#endif
#endif