Hallo steckl
… werden lokale Variablen (wenn sie nicht static sind) bei jedem Funktionsaufruf neu auf dem Stack gelegt, waehrend globale Variablen nur einmal zu Beginn des Programms auf dem Heap abgelegt werden.
Und das ist _so_ zeitaufwändig?
Auf dem Stack werden nicht nur lokale Variablen abgelegt, dort werden auch die Prozessorregister und die Rücksprungadresse gesichert (und das nicht nur bei selbst definierten Funktionen, sondern auch bei denen, die die Programmiersprache selbst mitbringt). Anlegen der Variablen auf dem Stack bedeutet doch nur, dass dort der nötige Platz reserviert wird, also beim anpassen des Stackpointers berücksichtigt wird.
Und lesen oder beschreiben von Variablen auf dem Stack dauert mit Sicherheit nicht länger als wo anders.
Auf Wiederlesen
Detlef
- Wissen ist gut
- Können ist besser
- aber das Beste und Interessanteste ist der Weg dahin!