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

本文介绍了C语言中条件编译的基本概念及其与if...else...的区别,详细解释了其本质及意义,并提供了实际应用场景。

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)实际工程中条件编译主要用于以下两种情况:

 

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

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

 

参考资料:
www.dt4sw.com
http://www.cnblogs.com/5iedu/category/804081.html

转载于:https://www.cnblogs.com/CoderTian/p/5903203.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值