发生在预处理阶段,在编译之前做的事情
核心:根据条件编译制定代码
条件不同,编译的部分也不同,生成的目标文件(.o)大小也不一样
列子:
#define score 76
#if score<60
printf(“E\n”);
#elif score <=69
printf(“D\n”);
#elif score <=79
printf(“C\n”);
#elif score <=89
printf(“B\n”);
#else
printf(“A\n”);
#endif
//条件编译是编译宏定义里的内容
条件编译指令
1> #if #elif #else #endif
2>#ifdef 用来判断某个宏是否定义
#ifdef DEBUG1 1
int a =0;
#ifdef DEBUG1
a=10;
#else
a=10000;
#endif
//a=10
//DEBUG系统默认定义为1
3>ifndef 检测宏是否定义
#ifndef 在没定义的情况下执行这行
#else 定义了就执行这行
|
|