![]() |
Stack Size
ok, hallo erstma. Ich hab da ein Problem: ich programmier mit nem Freund ein Programm für ein Institut, was Bilddaten auswerten soll, es ist natürlich wirksam, die Daten aus dem Bild als Wuelle auszulesen und in nem Array zu speichern. Problem: 512*512 Pixel, macht bei einer Integer-Zahl von bekanntlich 4 Byte größe insgesamt 1 MB, dazu kommen noch zwei Zählvariablen zum Auswerten --> Stack Overflow
kann sein dass die Frage schonma gestellt wurde, aber ich habs auf die Schnelle nich gefunden: Wie verändert man die MaxStackSize? Hab da was in der Help gefunden, komm damit aber nich so sonderlich klar... MfG |
Re: Stack Size
Das ist ein Compiler-Schalter:
Delphi-Quellcode:
Kann man aber auch in den Projektoptionen -> Linker einstellen.
{$MAXSTACKSIZE $00100000}
Allerdings halte ich es nicht für eine gute Idee. Es gibt nur sehr wenige Außnahmefälle, in denen man einen größeren Stack braucht. Ich würde fast darauf wetten, dass ihr da irgendwo einen Designfehler in eurem Code habt. Desweiteren wird der Speicher für euer Array, meiner Meinung nach, nicht auf dem Stack reserviert. Auf dem Stack landen Parameter, Funktionsrückgabewerte und Rücksprungadressen, deswegen kommt es meist bei fehlerhaften implementierten rekursiven Funktionen zu einem Stack-Overflow. |
Re: Stack Size
Zitat:
Delphi-Quellcode:
Dann dürfte es keine Probleme geben sofern es sich um dieses Problem handelt.
var
Matrix: Array of Array of Integer; begin SetLength(Matrix,512,512); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz