对于喜欢用printf Debug的同行来说,最麻烦的莫过于要重复输入很多printf语句,而且模块调试完成后要手动的把它们拿掉。
现在介绍一个很好的办法:
#ifdef DEBUG
#define D_STR(_STR_) printf("f:%s(l:%d)%s\n",__FILE__,__LINE__,_STR_);
#define D_LINE printf("f:%s(l:%d)-fn:%s\n",__FILE__,__LINE__,__FUNCTION__);
#define D_CHAR(_CHAR_) printf("f:%s(l:%d)%d\n",__FILE__,__LINE__,_CHAR_);
#define D_HEX(_HEX_) printf("f:%s(l:%d)[%x]\n",__FILE__,__LINE__,_HEX_);
#else
#define D_STR(_STR_) ;
#define D_LINE ;
#define D_CHAR(_CHAR_) ;
#define D_HEX(_HEX_) ;
#endif
对于你的debug信息是否显示只用通过DEBUG是否定义来控制。
阅读(4647) | 评论(0) | 转发(0) |