条件编译类似C语言 “ if .....else.... ”,从大量代码中,通过预处理的方式对代码进行预删除的工作
条件编译本质是对代码进行选择性的预处理操作后的编译操作,只对符合要求的代码进行编译
/* 通常采用 #ifdef
..... #else(#elif) ...... #endif 表示*/
#define micro LINUX int main(){ #ifdef micro == LINUX printf("use linux"); #else printf("use other environment"); #endif
return 0;
}
上述这种方法是提前通过宏定义来定义一个变量STR,从而通过判段变量值选择编译内容,当然除了这种方法之外是否可以在其他地方对其定义,或把这些宏定义放在统一个文件内,这样在选择编译内容时,只需要修改文件内容即可,而不必打开每个.c文件了呢?
第一种:
gcc -Dmacro = LINUX file.c // macro == LINUX,则执行LINUX 代码
gcc -Dmacro file.c // 如果定义了macro,则执行相应代码