태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.


댓글 하나가 운영자에겐 커다란 힘이 됩니다!

디버깅을 할때 변화가 자주 일어나는 데이터는 콘솔창을 띄워 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 nFlagsCPoint 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_numdraw_num);

 

 

         CView::OnMouseMove(nFlagspoint);

}

 
제가 아직 전문 프로그래머가 아니기 지식이 많이 모자랍니다. 때문에 전문 지식을 필요로하는것은 답변을 못드릴수 있으니 이점 이해해주시구요. 기본적인 문제는 자주 질문을 해주시기 바랍니다 그래야 저도 조금더 발전할수 있을테니까요..

위의 정보가 도움이 되셨나요? 그렇다면 댓글 하나만 남겨주세요.
댓글 하나가 운영자에겐 커다란 힘이 됩니다!

Write your message and submit
« PREV : 1 : ... 133 : 134 : 135 : 136 : 137 : 138 : 139 : 140 : 141 : ... 436 : NEXT »