C语言学习笔记--条件编译
Posted CrazyDiode
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言学习笔记--条件编译相关的知识,希望对你有一定的参考价值。
C语言中的条件编译的行为类似于 C 语言中的 if…else…,是预编译指示命令,用于控制是否编译某段代码 。
1.条件编译的本质
(1)预编译器根据条件编译指令有选择的删除代码
(2)编译器不知道代码分支的存在
(3)if…else…语句在运行期进行分支判断 ,条件编译指令在预编译期进行分支判断
(4)可以通过命令行定义宏
①gcc –Dmarco=value file.c //针对#if 语句
②gcc –Dmarco file.c //针对#ifdef 或 ifndef 语句
2.条件编译的意义
(1)条件编译使得我们可以按不同的条件编译不同的代码段,因而可以产生不同的目标代码。
(2)#if…#else…#endif 被预编译器处理,而 if…else…语句被编译器处理,必然被编译进目标代码。
(3)实际工程中条件编译主要用于以下两种情况:
①不同的产品线共用一份代码
②区分编译产品的调试版和发布版
以上是关于C语言学习笔记--条件编译的主要内容,如果未能解决你的问题,请参考以下文章