Dies wurde für eine lange Zeit stört mich jetzt: Können sagen, ich habe eine Funktion:C++: Funktionsvariable Deklarationen, wie funktioniert es intern?
void test(){
int t1, t2, t3;
int t4 = 0;
int bigvar[10000];
// do something
}
Wie geht der Computer die Speicherzuordnungen für die Variablen?
Ich dachte immer, dass der Variablenraum in der .exe gespeichert wird, die der Computer dann lesen wird, ist das korrekt? Aber soweit ich weiß, die Array nicht 10000 int
Elemente Platz in der .exe, seit seiner nicht initialisierten. Wie funktioniert die Speicherzuordnung, wenn ich die Funktion aufruft?
Die EXE wird in einer _disk_ gespeichert und der kompilierte Code wird dort gespeichert. Aber wenn es ausgeführt wird, nimmt es Speicher von der Einheit _processor_. Bytes in der Festplatte entsprechen nicht den Bytes, die für Variablen benötigt werden. –
http://stackoverflow.com/questions/556714/how-does-the-stack-work-in-assembly-language – karlphillip