자원 방출로 인한 메모리 빈틈 시뮬레이션
532 단어 MFC
예를 들면 다음과 같습니다.
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];
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MFC는 화면을 나눈 후 좌우 두 개의 대화상자, 즉 두 개의view 구역 관련 매개 변수로 나뉘어 설정한다.1. 모든 메뉴 막대 버튼을 CmainFrame 클래스로 정의하는 것이 좋습니다.메뉴 표시줄 단추를 다른view에 정의하고 다른view인터페이스를 클릭하면 해당 메뉴 항목이 비워지는 현상이 일어나지 않습니다.이 현상...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.