4 Stimmen

Kann man die Größe der Heap-Segmentreservierung zur C-Laufzeit unter XP einstellen?

Wenn die VC6-C-Laufzeitumgebung auf XP eine Zuweisungsanforderung nicht innerhalb eines bestehenden Heap-Segments bedienen kann, reserviert sie ein neues Segment. Die Größe dieser neuen Segmente erhöht sich um den Faktor 2 (bis es nicht mehr genügend freie Bereiche gibt, um dies zu tun, woraufhin sie auf kleinere Segmente zurückgreift).

Auf jeden Fall gibt es eine Möglichkeit, dieses Verhalten auf XP mit der VC6-Laufzeitumgebung zu steuern? Zum Beispiel, Verdoppelung bis zu einem gewissen Punkt, aber Begrenzung auf 64MB Segmente.

Wenn es unter XP keine Möglichkeit gibt, unter 7 aber schon, wäre das auch gut zu wissen. Oder wenn es keinen Weg auf VC6, aber es ist auf VC8 oder höher wäre interessant.

2voto

Stewart Punkte 3880

Wenn Sie ein spezielles Zuweisungsverhalten wünschen, schreiben Sie Ihren eigenen Zuweiser. VirtualAlloc usw. sind dazu da, Sie dabei zu unterstützen. Die Verwendung eines Compilers und einer CRT, die noch unterstützt wird, würde ebenfalls helfen.

0 Stimmen

Das ist die Antwort, die ich befürchtet habe. Aber es scheint die Antwort zu sein. Danke!

0 Stimmen

Der eingebaute Heap ist nicht dazu gedacht, unbegrenzt einstellbar zu sein. Er soll für eine Vielzahl von Umständen gut genug sein. Wenn Sie etwas Besonderes brauchen, müssen Sie es oft selbst auf der VM oder dem Heap programmieren. Sie geben nicht an, warum Sie dieses Verhalten benötigen, daher ist es schwierig, eine umfassende Antwort zu geben. Abgesehen davon implementieren neuere Versionen von VC keinen eigenen Heap, sondern verwenden den Heap des Betriebssystems, was bedeutet, dass Sie von LFH und anderen Fortschritten profitieren.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X