对于喜欢用printf Debug的同行来说,最麻烦的莫过于要重复输入很多printf语句,而且模块调试完成后要手动的把它们拿掉。
现在介绍一个很好的办法(VS2010中):
#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是否定义来控制。
本文介绍了一种在Visual Studio 2010中提高Debug效率的方法,通过宏定义实现方便的打印调试信息,避免了手动添加和删除printf语句的繁琐过程,并且可以根据是否定义_DEBUG来控制调试信息的显示。
894

被折叠的 条评论
为什么被折叠?



