【 C 】条件编译

当编译一个程序时,如果我们选择某条语句或某组语句进行翻译或者被忽略,常常会显得很方便。只用于调试程序的语句就是一个明显的例子。它们不应该出现在程序的产品版本中,但是你可能并不想把这些语句从源代码中物理删除,因为如果需要一些维护性修改时,你可能需要重新调试这个程序,还需要这些语句。

条件编译(conditional compilation)就是用于实现这个目的。使用条件编译,你可以选择代码的一部分是被正常编译还是完全忽略。用于支持条件编译的基本结构是 #if 指令和与其匹配的 #endif 指令。

下面显示了它最简单的语法形式。

#if constant-expression
    statements
#endif

其中, constant-expression(常量表达式)由预处理器进行求值。如果它的值是非零值(真),那么 statements 部分就被正常编译,否则预处理器就会安静地删除它们。

所谓常量表达式,就是它或者是字面值常量(数),或者是一个有#define 定义的符号常量。如果变量在执行期之前无法获得它们的值,那么它们如果出现在常量表达式中就是非法的,因为它们的值在编译时是不可预测的。

条件编译的另一个用途就是编译时选择不同的代码部分。

#if constant-expression
    statements
#elif constant-expression
    other statements...
#else
    other statements...
#endif

#elif子句出现的次数可以不限。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李锐博恩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值