자원 방출로 인한 메모리 빈틈 시뮬레이션

532 단어 MFC
MFC 프로그래밍에서 GDI 리소스를 자주 만들고 포인터를 통해 사용합니다.
예를 들면 다음과 같습니다.
CClientDC dc(this);
CBrush *m_pBrush=new CBrush(RGB(255,0,0));
dc.SelectObject(m_pBrush);
dc.Rectangle(0,0,100,100);
delete m_pBrush;
m_pBrush=NULL;

그러나 때때로 우리는 자원 지침을 방출하는 것을 잊어버린다.만약에 프로그램이 상기 코드 세션을 여러 번 운행한다면 작업 관리자에서 프로그램이 차지하는 메모리가 끊임없이 증가하고 대량의 메모리 파편이 발생하는 것을 관찰할 수 있다.시스템 메모리 부족으로 인해 다른 프로그램이 정상적으로 작동하지 못하거나 다운될 수 있습니다.
그 원리는 다음 절차에 따라 시뮬레이션할 수 있습니다.
char *pMem=NULL;
for(;;)
{
	pMem=new char[1024];
}
 

좋은 웹페이지 즐겨찾기