Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
Delphi 10.2 Tokyo Professional
|
AW: Speicherverwaltung bei Basisdatentypen
13. Mär 2019, 10:43
Lokale Variablen werden auf dem Stack abgelegt. Die werden sobald die Funktion verlassen wird (wie du sagtest) ungültig, bzw. der Speicher wird früher oder später durch lokale Variablen oder Rücksprungadressen anderer Funktionen überschrieben.
Variablen von Objekten liegen einfach im für das Objekt reservierten Speicherbereich. Wenn das Objekt freigegeben wird, werden damit auch die Variablen des Objekts freigeben bzw. liegen in ungültigem/nicht reserviertem Speicher.
Bei globalen Variablen bin ich mir nicht zu 100% sicher, aber ich denke für die wird schon beim Laden der .exe Speicher reserviert und der wird auch erst wieder freigegeben wenn die .exe (bzw. das entprechende Modul) beendet/entladen wird.
Michael "Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
|