2010-03-30 6 views
4

XP의 VC6 C 런타임이 기존 힙 세그먼트 내에서 할당 요청을 처리 할 수 ​​없으면 새 세그먼트를 예약합니다. 이 새로운 세그먼트의 크기는 2의 요인에 의해 증가합니다 (충분한 자유 공간이 없어서 더 작은 세그먼트로 떨어질 때까지).XP에서 C 런타임 힙 세그먼트 예약 크기를 조정할 수 있습니까?

어쨌든 이것을 제어 할 수있는 방법이 있습니까? VC6 런타임에서 XP의 동작? 예를 들어 포인트를 두 배로 늘리면 64MB 세그먼트로 제한됩니다.

XP에는 방법이 없지만 7이 있으면 그 사실을 알아두면 좋습니다. 아니면 VC6에 아무런 길은 없지만 VC8 이상이면 재미있을 것입니다.

답변

2

특정 할당 동작을 원한다면 할당자를 작성하십시오. VirtualAlloc 등 당신이 그것을하는 데 도움이됩니다. 여전히 지원되는 컴파일러와 CRT를 사용하면 도움이 될 것입니다.

+0

이것은 내가 두려웠 던 대답입니다. 그러나 그것은 대답 인 것 같습니다. 감사. – Jason

+0

내장 된 힙은 무한대로 조정할 수 없습니다. 이것은 매우 다양한 환경에 적합 할 수 있습니다. 특별한 것이 필요한 경우에는 VM 또는 힙 위에 코드를 직접 작성해야합니다. 왜이 행동이 필요한지 명시하지 않기 때문에 완전한 대답을하기가 어렵습니다. VC의 최신 버전은 자체 힙을 구현하지 않고 대신 OS 힙을 사용하므로 LFH와 다른 발전의 이점을 누릴 수 있습니다. – Stewart

관련 문제