一个看似简单的问题(#if与#ifdef的区别)

我的一个同事写了一段代码,其中一段是这样的:

#define DEBUG 0

#ifdef DEBUG

...

...

#endif

 

他的意思是这段代码仅仅是为了调试用的,而且这个调试代码一旦启用,就会严重影响产品性能。其实这个代码很简单,但是犯了一个错误,没有区分#if和#ifdef。

正确的写法应该是:

//#define DEBUG

#ifdef DEBUG

...

...

#endif

 

或者

 

#define DEBUG 0

#if DEBUG

...

...

#endif

 

 

这个看似简单的问题却导致产品出现了漏洞,可见不简单啊。

 

做产品,做事情,都在于细节之中啊。

 

天下之大,必作于细!

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值