添加辅助代码

相信大家在写代码的时候会发现,有时候我们需要往代码里面添加部分的辅助代码以帮助我们调试,但是在开发完成之后,有一部分的辅助代码将不会被编译到产品代码中。但是又需要将辅助代码和程序代码区分开来。传统情况下,会定义一个宏,在每次添加辅助代码的地方都会判断是否需要编译进去。但是这样子让程序看起来比较繁冗。而使用宏函数则能避免这种情况。

下面是一段示例程序,将帮助你理解:

 

#define DEBUG

//session 1:如果定义了DEBUG,则可以将函数宏中的代码段实际编译进去。
//否则函数宏中的代码段,并未实际编译进去,只是简单的用空替换
#ifdef DEBUG
#define DebugCode(code_fragement){ code_fragement }
#else
#define DebugCode(code_fragment)
#endif

//session 2:使用传统的每次在使用辅助代码的时候都需
//#ifdef DEBUG_IFEDF…#endif
#define DEBUG_IFDEF

 


int main(int argc, char* argv[])
{
 printf("Hello World!/n");

 //session 3:实际的辅助代码会根据宏DEBUG是否定义而
 //判断是否会时间的替换成代码段,还是空
 DebugCode(
  printf("Debug code statement 1/n");
  printf("Debug code statement 2/n");
 );

 //session 4:使用传统的在每次使用辅助代码时候,都判断
 //DEBUG_IFEDF是否定义
#ifdef DEBUG_IFDEF
 printf("DEBUG code use DEBUG_IFDEF everytime/n");
#endif

 //conclusion :如果不愿意在文件中出现多次的使用#ifdef DEBUG…#endif
 //则可以使用这种格式
 //相对于每次使用#ifdef DEBUG …#endif,这种方法要相对简洁得多
 return 0;
}

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值