我想在非MFC C++项目中使用TRACE()宏在Visual Studio 2005的调试窗口中获取输出,但需要哪个额外的头文件或库?
有没有办法将消息放入调试输出窗口,我该怎么做?
建立你自己的.
trace.cpp:
#ifdef _DEBUG bool _trace(TCHAR *format, ...) { TCHAR buffer[1000]; va_list argptr; va_start(argptr, format); wvsprintf(buffer, format, argptr); va_end(argptr); OutputDebugString(buffer); return true; } #endif
trace.h里:
#include#ifdef _DEBUG bool _trace(TCHAR *format, ...); #define TRACE _trace #else #define TRACE false && _trace #endif
然后只需#include"trace.h"就可以了.
免责声明:我只是从个人项目中复制/粘贴此代码并拿出一些项目特定的东西,但没有理由它不应该工作.;-)
如果您使用ATL,您可以尝试ATLTRACE.
TRACE在afx.h中定义为(至少在vs 2008中):
// extern ATL::CTrace TRACE; #define TRACE ATLTRACE
ATLTRACE可以在atltrace.h中找到