|
메모리를 할당했다가 지우는 작업을 하고 있는데 반환이 될때가 있고 안될 때가 있습니다.
어떤 부분에 문제가 있는지 감이 안 잡히네요.
아래 소스는 어디에 문제가 있는지 테스트 하던 소스입니다.
테스트 환경은 빌더2007에 OS는 XP와 7에서 테스트 해봤습니다.
도움 부탁드립니다.
//////////////////////////////////////////////////////////////
TStringList *list = new TStringList;
for(int i=0; i<100; i++){
MEMORYSTATUS memoryStatus;
GlobalMemoryStatus(&memoryStatus);
list->Add("시작 , " + AnsiString(memoryStatus.dwAvailVirtual));
BYTE *sImage = new BYTE[2000*2000*3];
GlobalMemoryStatus(&memoryStatus);
list->Add("생성 , " + AnsiString(memoryStatus.dwAvailVirtual));
delete sImage;
sImage = NULL;
GlobalMemoryStatus(&memoryStatus);
list->Add("해제 , " + AnsiString(memoryStatus.dwAvailVirtual));
}
list->SaveToFile("d:\\test.txt");
////////////////////////////////////////////////////////////////////
|