Einzelnen Beitrag anzeigen

Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#9

Re: rekursive Programmierung - record als parameter

  Alt 27. Mai 2009, 18:51
Hallo,
Zitat von mcmichael:
Das Array wird wohl 50 (maxMA) * 96 (maxQ) + 384 = 5184 byte groß werden und in der Tiefe sollten maximal 4800 Schritte erreicht werden. Mit 30MB dürfte ich also hinkommen.
(Wie schön, daß die alten Schranken aus Delphi 1 Zeiten nicht mehr existieren)
Du solltest aber beachten, dass der Defaultwert für die maximale Stackgröße bei 1 MByte liegt. Bei einer geplanten Rekursionstiefe von bis zu 4800 stehen somit pro Aufruf nur wenig mehr als 200 Byte zur Verfügung. Die Übergabe einer etwas größeren Datenstruktur ohne CONST oder VAR könnte deshalb schon zu einem Stacküberlauf führen.

Wenn du bei dem Werteparameter bleiben möchtest, dann wirst du in den Linkeroptionen die Stackgröße anpassen müssen. Allerdings lässt sich mit dem maximal möglichen Wert von 16 MByte und dem gegebenen Array die gewünschte Rekursionstiefe von 4800 nicht erreichen.

Gruß Hawkeye
  Mit Zitat antworten Zitat