next up previous
Nächste Seite: Offene Feldparameter Aufwärts: Laufzeitumgebung Vorherige Seite: Stack-Aufbau

Adressierung der Parameter

Parameter können in als Wert- oder als an Prozeduren übergeben werden. Bei Wertparametern wird immer von der aufrufenden Prozedur der Wert der Variablen auf den Stack kopiert. Man sollte daran denken, einen genügend grossen Stack bereitzustellen (mit Hilfe des DOS-Kommandos ,,STACK``). Falls eine Prozedur beispielsweise ein grosses Feld als Wertparameter besitzt und zur Laufzeit nicht genügend Stapelspeicher zur Verfügung steht, wird es in jedem Fall unangenehme Folgen haben. Ist die Option ,,StackChk`` eingeschaltet, wird ein Laufzeitfehler erzeugt (siehe 2.4.3 auf Seite [*]). Andernfalls kann der Speicher von anderen Programmen oder gar vom Betriebssystem überschrieben werden; diese Auswirkungen sind im allgemeinen nicht voraussehbar und führen früher oder später -- aber immer früher als gewünscht -- zum ``Guru``.

Bei Variablenparametern wird nur die Adresse der Variablen auf den Stack kopiert. Die Prozedur benutzt die Adresse, um auf den Inhalt der Variablen zuzugreifen.



Claudio Nieder 2000-11-12