아래는 MFC 프로젝트에 디버깅을 위한 콘솔 창을 띄운 모습입니다. (아래 프로그램은 로또 프로그램)



사실 MFC의 경우는 아래 캡쳐와 같이 TRACE 매크로를 통해 로그(디버깅 메시지)를 확인할 수 있지만

Win32 API의 경우는 TRACE 매크로가 없으며, 있어도 TRACE보다는 printf로 출력하는 게 더 편할 때도 있어서 

가끔 콘솔창을 이용합니다.



TRACE보다 printf로 출력하면 더 편한 몇 가지 이유로는

 - printf의 경우 서식문자를 쓸수 있다.  ex) printf( "에러 번호 : %d, 에러 내용 : %s", nErrorNum, GetLastError() );

 - TRACE의 경우 출력 창에 내용이 표시되는데, TRACE 내용 말고도 잡다한 내용이 많다.

 - 콘솔 창의 경우는 내가 남긴 로그만 볼 수 있어서 깔끔하다.




제가 아는 콘솔창 띄우는 방법은 2가지가 있습니다. ( 그 외 AllocConsole 등도 있음 )

아래와 같이 프로젝트 속성에서 창을 띄우는 방법이 있고



아래의 소스를 추가하는 방법이 있습니다.

아래 소스는 아시다시피 디버깅 모드일 때만 콘솔창이 뜨도록 한 겁니다.

#ifdef _DEBUG #pragma comment(linker, "/entry:WinMainCRTStartup /subsystem:console") #endif


+ Recent posts