가물 님이 쓰신 글 :
:
: C++ Builder 2007을 사용하고 있습니다.
:
: 컴파일(또는 실행 파일 실행) 후, 사용 메모리가 1,750.4MB 를 넘으면 Out of Memory 에러가 발생합니다.(작업관리자에서 확인)
:
: 사용 가능한 메모리 용량을 더 늘릴 수 있는 방법이 있을까요?
: (project->option->linker->output option 에 Maximum heap size를 변경해도 결과는 같습니다.)
:
:
답변:
C++ 빌더의 문제점이...
메모리 메니지먼트 코드도 델파이로 컴파일 되어있는 RTL에 종속되어 있는 기형적인 구조를 갖고 있다는 거고.
C++ Builder 2007을 갖고있지 않아서...
델파이 RTL의 메모리 메니지먼트 내부 코드가 어떻게 구현되어 있는 지는 확인 할 수 없습니다.
콘솔모드 프로그램을 간단하게 만들어서 첨부해 놓았으니...
다운 받아서... 타겟 프로그램 네임이 test.exe 라고 하면...
mexe test.exe 엔터 쳐서 실행파일 패치한 후에...
작업관리자로 타겟 프로그램의 메모리 할당 변화를 확인해 보세요.
변화가 없으면 델파이로 컴파일 되어 있는 RTL 메모리 매니지먼트 코드를 손 봐야 합니다.
지금과 같이 델파이로 컴파일 되어 있는 RTL, VCL 에 종속되어 있는 기형적인 구조로는
델파이가 갖고있는 문제점들을... C++ 빌더에서도 계속 이어 받을 수 밖에 없는 구조.
|