|
잘되는데요....
Windows Vista
아래는 코드 실행 결과의 일부..
시작 , 2074472448
생성 , 2062413824
해제 , 2074472448
시작 , 2074472448
생성 , 2062413824
해제 , 2074472448
시작 , 2074472448
생성 , 2062413824
해제 , 2074472448
시작 , 2074472448
생성 , 2062413824
해제 , 2074472448
시작 , 2074472448
생성 , 2062413824
해제 , 2074472448
시작 , 2074472448
생성 , 2062413824
해제 , 2074472448
시작 , 2074472448
생성 , 2062413824
해제 , 2074472448
아수라장 님이 쓰신 글 :
: 답변 감사합니다.
:
: 그런데 그렇게 해도 똑같네요.
:
: 다른 방법 없을까요?
:
:
:
: 김용덕 님이 쓰신 글 :
: : 안녕하세요.
: :
: : 배열 Delete 방법이 틀린 것 같은데요.
: :
: : 배열 할당부분의 경우, delete []sImage;
: :
: : 이런식으로 사용하셔야 합니다.
: :
: : 그럼 수고 하세요.
: :
: : 아수라장 님이 쓰신 글 :
: : : 메모리를 할당했다가 지우는 작업을 하고 있는데 반환이 될때가 있고 안될 때가 있습니다.
: : :
: : : 어떤 부분에 문제가 있는지 감이 안 잡히네요.
: : :
: : : 아래 소스는 어디에 문제가 있는지 테스트 하던 소스입니다.
: : :
: : : 테스트 환경은 빌더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");
: : : ////////////////////////////////////////////////////////////////////
|