Chinaunix首页 | 论坛 | 博客
  • 博客访问: 31403
  • 博文数量: 15
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 80
  • 用 户 组: 普通用户
  • 注册时间: 2017-07-03 09:21
文章分类

全部博文(15)

文章存档

2017年(15)

我的朋友
最近访客

分类: 嵌入式

2017-08-28 19:58:58

之前见到过设置不同打印等级来调整打印的东西,感觉不错,想在单片机中也实现一下,这样一来找bug就会好很多,废话不多,直接上代码

点击(此处)折叠或打开

  1. #ifndef TEST_H_INCLUDED
  2. #define TEST_H_INCLUDED

  3. #define DEBUG_INFO

  4. #ifdef DEBUG_ERROR
  5. #define ERROR_DEBUG(info,...) printf(info, __VA_ARGS__)
  6. #define WARN_DEBUG(info,...)
  7. #define INFO_DEBUG(info,...)
  8. #elif defined DEBUG_WARN
  9. #define ERROR_DEBUG(info,...) printf(info, __VA_ARGS__)
  10. #define WARN_DEBUG(info,...) printf(info, __VA_ARGS__)
  11. #define INFO_DEBUG(info,...)
  12. #elif defined DEBUG_INFO
  13. #define ERROR_DEBUG(info,...) printf(info, __VA_ARGS__)
  14. #define WARN_DEBUG(info,...) printf(info, __VA_ARGS__)
  15. #define INFO_DEBUG(info,...) printf(info, __VA_ARGS__)
  16. #else

  17. #endif

  18. #endif // TEST_H_INCLUDED
重点部分就是这个
#define INFO_DEBUG
(info,...) printf(info, __VA_ARGS__)

测试一下效果

点击(此处)折叠或打开

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include "test.h"

  4. int main()
  5. {
  6.     char msg[] = "haha";
  7.     printf("Hello world!\n");
  8.     ERROR_DEBUG("error level %s\r\n",msg);
  9.     WARN_DEBUG("warn level %s\r\n",msg);
  10.     INFO_DEBUG("info level %s\r\n",msg);
  11.     return 0;
  12. }

调整不同打印级别即可打印出不同的东西了,很简单
阅读(1411) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~