Jedes Programm, das auf Ihrem Computer ausgeführt wird, verwendet Speicher . Der " Haufen " ist der Bereich von Speicher für dynamische Speicherzuweisung verwendet . In einem C-Programm , werden die Objekte auf der " Halde " gelegt , und eingebaute Datentypen wie Integer und lange auf dem platziert " Stack. " Der Stapel ist ein kleiner, schneller Speicherbereich, nach letztem zugeordnet ist in, first out . Globale und statische Variablen werden ebenfalls auf dem "haufen" gespeichert und verbleiben im Speicher, bis das Programm abgeschlossen ist . Die Größe des Heap ist eine vorgegebene Anzahl von Seiten , jedoch mehr Seiten zu dem Haufen zugeordnet werden. Anleitung
1
Ge der Griff auf den Standardwert Haufen des aufrufenden Prozesses in Ihrem C -Programm mit " GetProcessHeap . " Definieren Sie eine Variable , um den Griff genannt hold " hHandle . " If " hHandle " null ist, rufen " GetLastError ", um die Fehlermeldung zu erhalten.
2
Mit " hHandle " , rufen " HeapAlloc " in den Speicher , um diesen Prozess ' Heap . Serialisierung sorgt dafür, dass zwei Threads nicht auf denselben Speicherblock , daher nur die " HEAP_NO_SERIALIZE " Parameter , wenn die Anwendung nur einen Thread oder die Anwendung behandelt einen eigenen Thread Anrufe an den Heap-Speicher . Sie müssen auch die Anzahl von Bytes übergeben zu verteilen " HeapAlloc . "
3
Verwenden Sie " VirtualAlloc " um einen Block von Seiten für den Prozess behalten . Sie können weitere Anrufe zu " VirtualAlloc " machen, um einzelne Seiten zu begehen , um nicht Speicherplatz verbrauchen , bis der laufende Prozess muss it.To Speicher zuweisen , die auf Null voreingestellt und ermöglicht Lese /Schreib- Zugriff auf die engagierten Regionen der Seiten , Typ : DWORD dsize = 468178553 ; VirtualAlloc (NULL, dsize , MEM_COMMIT , PAGE_READWRITE );