Nächste Seite: Amiga Libraries
Aufwärts: Ein- und Ausgangscode
Vorherige Seite: Ein- und Ausgangscode
Der Eingangscode vervollständigt die Laufzeitumgebung und initialisiert
die Programmumgebung. In dieser Phase werden die folgenden Schritte
ausgeführt:
- Initialisierung der globalen -Variablen. Für ein residentes
Programm wird der Speicher vom Betriebssystem angefordert, für die
nichtresidenten Programme ist dieser Speicher
bereits im Programmcode enthalten
und wird mit Null initialisiert.
- Initialisierung der Prozess-Struktur für die Stapelüberprüfung.
Residente Programme vergleichen die Grösse des zur Verfügung stehenden
Stapelspeichers mit einer beim Linkvorgang angegebenen Mindestgrösse
und allozieren bei Bedarf den Stapelspeicher selbst.
- Übernahme der Programmargumente von der Betriebssystemumgebung.
Bei dieser Übernahme müssen die Unterschiede des Aufrufs von
CLI (Shell) und Workbench berücksichtigt werden. Die übernommenen
Argumente werden in den globalen Variablen von Arts abgelegt und
stehen dort dem Programm zur Verfügung. Das Bibliotheksmodul
Arguments extrahiert aus diesen Variablen die angeforderten
Werte.
- Installation der Prozeduren zur Behandlung von Laufzeitfehlern.
Damit Laufzeitfehler keine ``Guru Meditations`` auslösen, muss eine
Prozedur zur Behandlung der Laufzeitfehler in der Prozess-Struktur
installiert werden. Eine ausführliche Beschreibung dieser Prozedur
erfolgt weiter unten.
Für eine Minimalversion unterbleibt dieser Schritt. Dadurch wird
das Programm kürzer, kann aber im Fehlerfall die unliebsame
Bekanntschaft mit dem ``Guru`` machen.
Die soeben geschilderten Schritte bereiten die Programm-Umgebung so
vor, dass das Hauptmodul nun aufgerufen werden kann. Das Hauptmodul
ruft zunächst alle Initialisierungsteile der importierten Moduln
auf, diese wiederum die von ihnen importierten und so fort. Dadurch ist
gewährleistet, dass alle importierten Objekte initialisiert und benutzbar
sind.
Nächste Seite: Amiga Libraries
Aufwärts: Ein- und Ausgangscode
Vorherige Seite: Ein- und Ausgangscode
Claudio Nieder
2000-11-12