간단한 예를 들면..


...
C tmp;
tmp.CreateCompatible(Get());
CBitmap tmpBitmap;
tmpBitmap.CreateCompatibleBitmap(Get(),100,100);
...

OnDraw안에서가 아니라

별로로 를 얻고자 할때

Get()를 많이 쓰는데..;

이렇게 쓰면 잘못된 것입니다.

...
C *p=Get();
...
C tmp;
tmp.CreateCompatible(p);
CBitmap tmpBitmap;
tmpBitmap.CreateCompatibleBitmap(p,100,100);
...
Release(p);
...

이렇게 써야 합니다.

----------------------------------------------
저도 확실한건 모르지만

반복문 속에 Get()를 넣고

돌리니 메모리 사용량이 계속 증가만 하더군요..

틀리다면 답글 달아주세요..

(죄송합니다 허접실력으로 이곳에 글을 올려서)


혹시나 메모리 누수때문에.. 밤샘하시는 분들을 위해~



Re: -------------------------------------------------------

Get()는 윈도우가 생성되기전에.. 
즉 주로 OnCreate함수 안에서 메모리 생성에 사용
CClient 는 윈도우가 생성된후에  위에세 생성한 
 메모리로 직접 화면에 그릴때 사용하는게 아닌가 합니다..



facebook posting twit

  • 아이폰·애플TV까지…애플, 마침내 ‘脫PC’ 선언
  • DEP 기능 비활성화
  • 버퍼 오버 플로우 공격과 DEP
  • Internet Explorer가 자주 비정상 종료 할때
  • VC 에서 자동으로 빌드 넘버 증가하기
  • 모달리스 다이얼로그 와 메모리 리크(Leaks)
  • MFC의 TRACE() 출력 빼먹는 현상
  • 간단히 WIN32에서 MFC의 메모리 누수 체크하는 방법
  • VC++ 6.0 에서 GDI+ 사용하기..
  • GDI+를 이용한 회전 3가지….
    Tagged on:             
  • Leave a Reply