next up previous
Nächste Seite: Amiga Libraries Aufwärts: Ein- und Ausgangscode Vorherige Seite: Ein- und Ausgangscode

Eingangscode

Der Eingangscode vervollständigt die Laufzeitumgebung und initialisiert die Programmumgebung. In dieser Phase werden die folgenden Schritte ausgeführt:

  1. 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.
  2. 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.
  3. Ü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.
  4. 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.


next up previous
Nächste Seite: Amiga Libraries Aufwärts: Ein- und Ausgangscode Vorherige Seite: Ein- und Ausgangscode
Claudio Nieder 2000-11-12