jag*_*ttt 25 c++ visual-studio-2005 visual-c++
我想在非MFC C++项目中使用TRACE()宏在Visual Studio 2005的调试窗口中获取输出,但需要哪个额外的头文件或库?
有没有办法将消息放入调试输出窗口,我该怎么做?
Fer*_*cio 29
建立你自己的.
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
Run Code Online (Sandbox Code Playgroud)
trace.h里:
#include <windows.h>
#ifdef _DEBUG
bool _trace(TCHAR *format, ...);
#define TRACE _trace
#else
#define TRACE false && _trace
#endif
Run Code Online (Sandbox Code Playgroud)
然后只需#include"trace.h"就可以了.
免责声明:我只是从个人项目中复制/粘贴此代码并拿出一些项目特定的东西,但没有理由它不应该工作.;-)
如果您使用ATL,您可以尝试ATLTRACE.
TRACE在afx.h中定义为(至少在vs 2008中):
// extern ATL::CTrace TRACE;
#define TRACE ATLTRACE
Run Code Online (Sandbox Code Playgroud)
ATLTRACE可以在atltrace.h中找到