2012-11-23 3 views
0

누출. 인텔 C++ CreateWindow 함수 커널 리소스는 내가 병렬 (인텔) 스튜디오 및 인텔 C++ 컴파일러를 사용하고

메모리 문제 분석

항상 내 CreateWindow 기능의 커널 리소스 누수가 있는지, 나에게 말한다.

함수 호출은 내 헤더 파일에 라인 (26)에 위치해 있습니다.

는 상관없이 내가 뭘, 누출 항상

헤더 (클래스 등의 소멸자 DestroyWindow를 호출) 나타납니다 : http://beta.pastie.org/private/ze8x59f1nfkjz0wcrromew

출처 : http://beta.pastie.org/5425046

답변

0

의 클래스 연결된 코드에는 소멸자가 없습니다.

어쨌든 CreateWindow 함수가 메모리 누수처럼 보이는 않습니다하지만 뭔가를 할 수 있습니다.

P. CWindow의 각 인스턴스에 WNDCLASS를 등록하지 마십시오. 프로그램 시작시 한 번 등록하십시오.

class CWindow 
{ 
private: 
    class CWindowClass 
    { 
    private: 
     static CWindowClass m_windowClass; 

     CWindowClass() 
     { 
      // Register a WNDCLASS 
     } 

     ~CWindowClass() {} 
    } 

    ... 
}; 
: 당신은 창 클래스 등록을 처리 CWindow 내부의 개인 WindowClass 싱글 톤 클래스를 만들 수 있습니다