Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
Turbo Delphi für Win32
|
Re: Arrays
1. Nov 2003, 10:46
Richtig Luckie, aber:
Angenommen, Prozess 1 hat ein Array[1..5] und wird im Index 7 adressiert. Diese Speicherstelle ist von Prozess 1 nicht belegt und liegt im virtuellen Speicher eine Elementgröße hinter dem Array. Im physischen Speicher liegt es irgendwo.
Nun kommt Prozess 2 und alloziert irgendwo in seinem virtuellen Speicherraum Speicher. Dieser virtuelle Speicher wird nun auf den phyischen abgebildet, und das kann zufällig genau die Speicherstelle sein, an der oben genanntes Element gespeichert wird.
Das ist so ähnlich wie wenn du Variablen nicht initialisierst: Obwohl dein Programm das erste Mal läuft und noch nirgends Speicher freigegeben wurde, ist eine Variable nicht mit 0 intiialisiert, sondern mit dem, was vorher im physischen Speicher an der entsprechenden Adresse stand.
Martin Leim Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
|