首页 > 代码库 > C语言学习笔记--条件编译

C语言学习笔记--条件编译

C语言中的条件编译的行为类似C 语言中的 if…else…,是预编译指示命令,用于控制是否编译某段代码 。

1.条件编译的本质

1)预编译器根据条件编译指令有选择的删除代码 

2)编译器不知道代码分支的存在

 

3if…else…语句在运行期进行分支判断 ,条件编译指令在预编译期进行分支判断
4)可以通过命令行定义宏 

    ①gcc –Dmarco=value file.c //针对#if 语句

    ②gcc –Dmarco file.c //针对#ifdef ifndef 语句

2.条件编译的意义

1)条件编译使得我们可以按不同的条件编译不同的代码段,因而可以产生不同的目标代码。 

2#if…#else…#endif 被预编译器处理,而 if…else…语句被编译器处理,必然被编译进目标代码。 

3)实际工程中条件编译主要用于以下两种情况:

 

    不同的产品线共用一份代码

    区分编译产品的调试版和发布版

 

C语言学习笔记--条件编译