Nächste Seite: CODE Aufwärts: Externe Prozeduren, Libraries Vorherige Seite: Externe Prozeduren

###
Libraries

Eine besondere Syntax in Definitionsmoduln erlaubt es, für die Amiga-Bibliotheken (z.B. `icon.library`) Schnittstellen-Moduln zu schreiben, die dem Compiler ermöglichen, direkt den Aufrufcode für die Prozeduren zu generieren. Die Bibliothek wird vom Programm dann auch automatisch geöffnet und bei Programmende wieder geschlossen. Um ein Schnittstellen-Modul zu definieren, müssen nach dem Modulnamen sowohl der Name der Bibliothek sowie die verlangte Versionsnummer in geschweiften Klammern angegeben werden.

Zu einem Schnittstellen-Modul muss kein Implementationsmodul geschrieben werden, die Objekt-Datei wird vom Compiler automatisch beim Übersetzen des Definitionsmoduls erzeugt.

Da die Bibliotheken automatisch geöffnet werden, ist es im Gegensatz zu C-Programmen nicht nötig, für die Bibliotheksadresse eine Variable zu deklarieren. Manchmal benötigt man aber doch die Adresse der Bibliothek, beispielsweise, um auf die `IntuitionBase` zugreifen zu können. Dies kann mit der Funktion `SYSTEM.ADR` geschehen. Dazu importiert man das Modul unqualifiziert und verwendet als Parameter von `ADR` den Modulnamen.

In Library-Moduln können keine oder genau folgende Variablen deklariert werden:

> library`Version: INTEGER`
> library`Base: POINTER TO ??`

Diese werden vom automatisch erzeugten Code gesetzt und können jederzeit abgefragt werden. Somit ist ein Aufruf von `ADR(library`)`` eigentlich unnötig.

Nächste Seite: CODE Aufwärts: Externe Prozeduren, Libraries Vorherige Seite: Externe Prozeduren