Stapelspeicher voll

01/04/2008 - 14:22 von Ulrich Zoeger | Report spam
Hallo,
ich bekomme oft die Fehlermeldung "Stapelspeicher voll".
Dies liegt daran, das ich in einer Routine haüfige rekursive Aufrufe habe.
Ich weiß dass das nicht optimal ist, mir ist aber dafür noch keine bessere
Lösung eingefallen.

Gibt es Anweisungen, mit denen man den Stapelspeicher wieder leeren kann ?

Grüße, Uli.
 

Lesen sie die antworten

#1 Peter Fleischer
01/04/2008 - 14:30 | Warnen spam
"Ulrich Zoeger" schrieb im Newsbeitrag
news:%23tUxKM$
Hallo,
ich bekomme oft die Fehlermeldung "Stapelspeicher voll".
Dies liegt daran, das ich in einer Routine haüfige rekursive Aufrufe habe.
Ich weiß dass das nicht optimal ist, mir ist aber dafür noch keine bessere
Lösung eingefallen.

Gibt es Anweisungen, mit denen man den Stapelspeicher wieder leeren kann ?



Hi Uli,
im Stack werden die Zustànde der aufrufenden Methode abgelegt und
Speicherplatz für die Variablen vom Wertetyp der aufgerufenen Routine
reserviert. Das verbrauchte Stack-Volumen kann nur durch Beenden der
aufgerufenen Methoden rediziert werden.

Wenn du also eine große Aufruftiefe (z.B. durch Rekursion) benötigst, dann
kannst du den Umfang der Variablen reduzieren, z.B. durch Nutzung von
Objekten, oder, du löst die Rekursion auf, indem du Schleifen nutzt.

Viele Gruesse

Peter

Ähnliche fragen