win32 프로그램에서 console창을 띄우는 방법
Posted 2009/01/07 18:51|
|
|
댓글 하나가 운영자에겐 커다란 힘이 됩니다!
디버깅을 할때 변화가 자주 일어나는 데이터는 콘솔창을 띄워 printf로 표시하는 방법을 많이 사용합니다.
win32 프로그램에서 console창을 띄우는 방법은 먼저 printf를 사용하실 파일의 상단에 #include <stdio.h>를 하신 후 실제로 printf를 사용하는 {}(블록) 상단에 AllocConsole(); freopen("CONOUT$", "wt", stdout); 두 코드를 넣습니다.
이후 부터는 printf로 console에 데이터를 찍으시면 되겠습니다.
아래 코드는 질문하신 분의 코드를 mousemove 메세지 호출 횟수와 draw 횟수를 표시해주게 조금 수정한 코드입니다. 파일의 상단 부분에 stdio.h를 포함했으며, mousemove메세지의 호출 횟수가 상당히 자주 발생되기때문에 printf는 20회에 한번씩 표시하도록 했습니다.
void CGraphicView::OnMouseMove(UINT nFlags, CPoint point) { // 콘솔 창을 띄우기 위함 AllocConsole(); freopen("CONOUT$", "wt", stdout); static int move_num = 0; // mousemove 메세지 호출 횟수 static int draw_num = 0; // draw 횟수 ++move_num; if(m_IsDrawing) { CClientDC dc(this); dc.MoveTo(m_StartPoint); dc.LineTo(point); ++draw_num; } if( !(move_num % 20) ) printf("move : %3d, draw : %3d\n", move_num, draw_num); CView::OnMouseMove(nFlags, point); } |
위의 정보가 도움이 되셨나요? 그렇다면 댓글 하나만 남겨주세요.
댓글 하나가 운영자에겐 커다란 힘이 됩니다!
- Filed under : 프로그래밍/Tips
- Comment Trackback

