MFC 에서 제공하는 ~cpp TRACE 매크로의 기능을 VC 의 다른 프로젝트에서도 사용할 수 있다. 단, 여기서는 매크로가 아니라 함수인것을 유념하자.
( ~cpp TRACE 매크로가 내부적으로 함수 호출을 하는것 같기는 한데 생각해보면 ~cpp TRACE 매크로보다 우리가 정의한 함수를 호출하는게 조금더 오버헤드가 있을것 같다 )

함수 body


~cpp 
#include <iostream>
#include <windows.h>
#include <tchar.h>
#include <crtdbg.h>
using namespace std;

#ifdef _DEBUG
#define TRACE Trace
#else
#define TRACE ;
#endif


void _cdecl Trace(LPCTSTR lpszFormat, ...)
{
	va_list args;
	int nBuf;
	TCHAR szBuffer[512];

	va_start(args, lpszFormat);
	nBuf = _vstprintf(szBuffer, lpszFormat, args);

	_ASSERT(nBuf < sizeof(szBuffer));
	//_tprintf(szBuffer);  // 이부분은 console window 에 출력해주는 부분이다.

	OutputDebugString(szBuffer); // debug output window 에 string 출력

	va_end(args);
}
 

Retrieved from http://wiki.zeropage.org/wiki.php/Trace
last modified 2021-02-07 05:28:15