C语言之空宏
2015-09-17 19:28
260 查看
今天调试代码,朋友说我的调试信息太繁琐,我说还可以啊,他说空宏很好用,我试了一下,确实不错,上代码:
原代码:
需要调试信息时
#define ZPC_DEBUG
#ifdef ZPC_DEBUG
SEGGER_RTT_printf(0, "***** upload_state_to_our_platform() result:%s\r\n",result);
#endif
不需要调试信息时
//#define ZPC_DEBUG
#ifdef ZPC_DEBUG
SEGGER_RTT_printf(0, "***** upload_state_to_our_platform() result:%s\r\n",result);
#endif
新代码:
需要调试信息时
#define ZPC_Debug SEGGER_RTT_printf
//#define ZPC_Debug(...)
ZPC_Debug(0, "***** upload_state_to_our_platform() result:%s\r\n",result);
不需要调试信息时
//#define ZPC_Debug SEGGER_RTT_printf
#define ZPC_Debug(...)
ZPC_Debug(0, "***** upload_state_to_our_platform() result:%s\r\n",result);
有点意思!
原代码:
需要调试信息时
#define ZPC_DEBUG
#ifdef ZPC_DEBUG
SEGGER_RTT_printf(0, "***** upload_state_to_our_platform() result:%s\r\n",result);
#endif
不需要调试信息时
//#define ZPC_DEBUG
#ifdef ZPC_DEBUG
SEGGER_RTT_printf(0, "***** upload_state_to_our_platform() result:%s\r\n",result);
#endif
新代码:
需要调试信息时
#define ZPC_Debug SEGGER_RTT_printf
//#define ZPC_Debug(...)
ZPC_Debug(0, "***** upload_state_to_our_platform() result:%s\r\n",result);
不需要调试信息时
//#define ZPC_Debug SEGGER_RTT_printf
#define ZPC_Debug(...)
ZPC_Debug(0, "***** upload_state_to_our_platform() result:%s\r\n",result);
有点意思!
相关文章推荐
- [cernRoot] How make a beautiful graph by CernRoot?
- c++杨辉三角
- Jni之在c++中调用java代码
- 详解C++编程中类模板的相关使用知识
- Effective C++ ——为多态基类声明虚析构函数
- 简要介绍C++编程中的友元函数和友元类
- 新建C++对象的两种方式
- Effective C++ —— 构造析构赋值
- 使用BASIC语言控制ESP8266
- C++ 值传递 指针传递和引用传递
- C语言实现单向链表
- C语言内存分区_栈区、堆区、全局&静态区、文字常量区、程序代码区
- c++primer plus 编程练习题2
- Effective C++——条款44(第7章)
- 虚函数的实现原理--c++虚函数表解析
- 深入解析C++编程中的静态成员函数
- c++引用与指针的区别(着重理解)
- C语言知识点总结2
- c++11的foreach用法
- C语言小游戏 - 俄罗斯方块