Tom: Stack und Heap

Beitrag lesen

Hello,

Aber hallo! Moderne Pascal-Varianten kennen sehr wohl Objekte und Klassen. Schon Borland Pascal 7 aus dem Jahr 1990 (so ungefähr jedenfalls) kannte das Konzept von Klassen und OOP, und Delphi, das davon abstammt, erst recht. Für Wuschelbasic will ich mich da nicht aus dem Fenster lehnen, das kenne ich nur vom Hörensagen.

Und nicht vergessen sollt man, dass der Heap (verbleibender Hauptspeicher) in diesen Sprachen auf zwei Weisen zugeteilt wird:

Bereits bei Programmstart für alle bis zu diesem Zeitpunkt bereits bekannten Variablen, also die statisch bestimmten Variablen. Erreichbar sind diese denn über eine Adresse eines/des Datensegmentes und ändern ihre Adressen auch nicht während des Betriebes.

Während des Programmlaufes durch allokieren von Speicher aus dem restlichen verfügbaren Bereich. Dieser wird dann über einen Deskriptor des Programm-Rahmes oder des OS beschrieben. Festgelegt werden dabei meistens nur Lage und Größe, bei streng typisierenden Sprachen ggf. noch der Typ. Bei Typisierten Speicherblöcken muss dies die Sprache selber besorgen.

Danke, dass du nicht Kellerspeicher sagst.

Dann solltest Du auch noch erzählen, warum die damaligen Deutschler auf diesen Begriff kamen. Der Stack muss(te) bei Programmstart in einer gewünschtren Größe reserviert werden. Gezählt wurd dann abwärts bis zum Erreichen von 0. Das war dann "Stack-Overflow". Kennt man vom guten alten DOS ja noch zur Genüge. Das hatte intern mehrere Stacks für die verschiedenen Aufgaben, was aber meistens trotzdem nocb nicht gereicht hat, um Programme stabil zu bekommen. Wenn mehr oder größere vereinbart hat, war meistens nicht mehr genugt Speicher fürs eigentliche Programm da :-(

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de