Wo befindet sich der Heap in der Speicherzuordnung einer Maschine?
Wo befindet sich der Heap in der Speicherzuordnung einer Maschine?

Video: Wo befindet sich der Heap in der Speicherzuordnung einer Maschine?

Video: Wo befindet sich der Heap in der Speicherzuordnung einer Maschine?
Video: Heap und Stack - So speichern Programme Werte von Variablen 2024, November
Anonim

An den höheren Adressen ist die Stapel und an der unteren Adresse ist die Haufen . Die Zwei Erinnerung Zuweisungsregionen wachsen in die Mitte des Adressraums, der ungenutzt und nicht zugewiesen ist.

Außerdem, wo befindet sich der Heap im Speicher?

Stapel wird für statische verwendet Erinnerung Zuordnung und Haufen für dynamisch Erinnerung Zuordnung, beide im Computer gespeichert RAM . Auf dem zugewiesene Variablen Stapel sind direkt im gespeichert Erinnerung und Zugang dazu Erinnerung ist sehr schnell, und die Zuweisung erfolgt beim Kompilieren des Programms.

Außerdem, was ist der Heap-Speicher? EIN Speicherhaufen ist ein Ort in Erinnerung wo Erinnerung kann wahlfrei zugewiesen werden. Im Gegensatz zu dem Stapel, wo Erinnerung wird in einer genau definierten Reihenfolge vergeben und freigegeben, einzelne Datenelemente werden auf dem Haufen werden in der Regel asynchron zueinander freigegeben.

Die Frage ist auch, wo sich der Heap im Speicher befindet und in welche Richtung er wächst?

Die Haufen ist das Segment, in dem dynamisch Erinnerung Die Zuteilung erfolgt in der Regel. Dieser Bereich beginnt üblicherweise am Ende des BSS-Segments und wächst von oben nach höher Erinnerung Adressen. In C wird es von malloc / new, free / delete verwaltet, die die Systemaufrufe brk und sbrk verwenden, um seine Größe anzupassen.

Woher bekommt malloc Speicher?

In C, dynamisch Erinnerung wird aus dem Heap unter Verwendung einiger Standardbibliotheksfunktionen zugewiesen. Die zwei Schlüsseldynamiken Erinnerung Funktionen sind malloc () und frei(). Die malloc () Funktion nimmt einen einzelnen Parameter an, der die Größe des angeforderten Erinnerung Bereich in Byte. Es gibt einen Zeiger auf den zugewiesenen. zurück Erinnerung.

Empfohlen: