宏定义中省略号在调试中的妙用

在这里插入图片描述

作者|釜薪君
公众号|嵌入式杂牌军



前言


今天给小伙伴们介绍一种不错的调试意识,即用宏定义的中的省略号与宏开关,统一打开或关闭调试信息,特别适用于自己对打印函数进行封装的情况。


一、实现原理


1.宏开关


#define DEBUG

与下面的宏条件判断语句一起使用,决定使用哪个宏定义分支。

2.宏分支


用#ifdef,#else,#endif,根据宏开关进行宏使用分支的判断。

3.看不见的空格


#define DebugPrintf(…) 此处为空格

此句是将DebugPrintf(…)替换为空格,括号中的内容忽略。

二、实例代码

1.实例代码


下面代码可以批量开关打印调试代码。


#include <stdio.h>
#include <stdlib.h>

#define DEBUG                     // 打印调试宏开关,需要时定义,不需要注释掉

#ifdef  DEBUG

#define DebugPrintf  printf       // 定义了DEBUG使用此分支

#else 

#define DebugPrintf(...)          // 注释掉DEBUG定义使用此分支
 
#endif

int main(int argc, char *argv[]) 
{
     int i = 2;
     DebugPrintf("\nTest value is:%d\n",i); // 调用打印函数,关闭宏,此句为空语句 
 
     return 0;
}   

2.运行结果


1)定义宏的情况。

在这里插入图片描述

2)不定义宏(注释掉宏定义)的情况。


在这里插入图片描述


今天就到这吧,希望对小伙伴有所帮助哈!

欢迎关注公众号~

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值