More actions
imported>Unknown No edit summary |
(Repair batch-0003 pages from live compare) |
||
| Line 1: | Line 1: | ||
MFC 에서 제공하는 | MFC 에서 제공하는 | ||
<code>TRACE</code> | |||
매크로의 기능을 VC 의 다른 프로젝트에서도 사용할 수 있다. 단, 여기서는 매크로가 아니라 함수인것을 유념하자. | 매크로의 기능을 VC 의 다른 프로젝트에서도 사용할 수 있다. 단, 여기서는 매크로가 아니라 함수인것을 유념하자. | ||
( | ( | ||
<code>TRACE</code> | |||
매크로가 내부적으로 함수 호출을 하는것 같기는 한데 생각해보면 | 매크로가 내부적으로 함수 호출을 하는것 같기는 한데 생각해보면 <code>TRACE</code> 매크로보다 우리가 정의한 함수를 호출하는게 조금더 오버헤드가 있을것 같다 ) | ||
= 함수 body = | = 함수 body = | ||
#include <iostream> | #include <iostream> | ||
| Line 23: | Line 23: | ||
va_list args; | va_list args; | ||
int nBuf; | int nBuf; | ||
TCHAR szBuffer | TCHAR szBuffer[512]; | ||
va_start(args, lpszFormat); | va_start(args, lpszFormat); | ||
| Line 38: | Line 38: | ||
---- | ---- | ||
[[상식분류]], [[프로그래밍분류]] | [[상식분류]], [[프로그래밍분류]] | ||
Latest revision as of 00:29, 27 March 2026
MFC 에서 제공하는
TRACE
매크로의 기능을 VC 의 다른 프로젝트에서도 사용할 수 있다. 단, 여기서는 매크로가 아니라 함수인것을 유념하자.
(
TRACE
매크로가 내부적으로 함수 호출을 하는것 같기는 한데 생각해보면 TRACE 매크로보다 우리가 정의한 함수를 호출하는게 조금더 오버헤드가 있을것 같다 )
함수 body
#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);
}