AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

EStackOverflow???

Ein Thema von Master_BB · begonnen am 26. Mai 2004 · letzter Beitrag vom 26. Mai 2004
Antwort Antwort
Seite 2 von 2     12   
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: EStackOverflow???

  Alt 26. Mai 2004, 17:57
Der Nachteil kann halt sein, dass der Stack zu groß wird und dann der Speicher knapp wird.
Solange du ihn aber in Maßen vergrößerst, sollte das nicht passieren.

Zum Thema Stack und Heap:
Jede Prozedur hat einen Stack, das heißt übersetzt Stapel. Dort werden zu Beginn die Übergabeparameter aufgestapelt, ganz unten liegt die Rücksprungadresse zu dem Punkt, von dem die Prozedur aufgerufen wurde. Auch lokale Variablen werden auf diesem Stack gespeichert. Dieser Stackspeicher ist aus verschiedenen Sicherheitsgründen recht begrenzt, deshalb der Stack Overflow.

Der Heap dagegen ist ein globaler Speicherbereich, der über die Prozeduren hinaus verfügbar ist. Beispielsweise werden dort alle Objekte werden dort abgelegt.
Was du nun machen könntest, wäre dir einen Zeiger auf dein Array zu erzeugen und das Array mit der richtigen Größe auf dem Heap via GetMem bzw. New zu erzeugen. Dann wäre der Speicherplatz nur durch den verfügbaren virtuellen Speicher begrenzt. Allerdings müsstest du dann den Speicher seblbst wieder freigeben (FreeMem bzw. Dispose).
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Master_BB

Registriert seit: 17. Mai 2003
285 Beiträge
 
Delphi 7 Professional
 
#12

Re: EStackOverflow???

  Alt 26. Mai 2004, 18:01
stimmt eigentlich shmia - shit das hab ich überhauptnicht gesehn.
hatte wohl ein wenig kaudawelsch geprogzt.
jetzt ohne array klappts natürlcih auch mit dem nachbarn *lol*
haut jetzt alles hin und die verarbeitung wird dadurch natürlcih auch schneller.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz