Nächste Seite: Sonstige Konventionen Aufwärts: Der Library-Linker (M2LibLink) Vorherige Seite: Aufruf und Optionen

## Namens-Konventionen

Für ein korrektes Funktionieren des Library-Linkers müssen vom Programmierer bestimmte Konventionen bei der Namensgebung eingehalten werden.

Jedes Objekt besteht aus Definitions- und Implementationsmodul. Der Linker erzeugt daraus verschiedene andere Dateien. Damit er erkennen kann, um welche Art Objekt es sich handelt, muss an den Modulnamen jeweils eine bestimmte Endung angefügt werden:

Library: | Lib
Device: | Dev
Resource: | Rsrc

Am einfachsten erklären wir die Namensgebung anhand eines Beispiels. Es soll eine Library namens ,,`MyTest``` erzeugt werden. Hierzu werden folgende Dateien benötigt bzw. erzeugt:

Definitionsmodul: | `MyTestLib.def`
Implementationsmodul: | `MyTestLib.mod`
Schnittstellenmodul: | `MyTest.def`
FD-Datei: | `MyTest_lib.fd`
Library: | `mytest.library`

In das Schnittstellenmodul wird von `M2LibLink` ausserdem eine Zeichenkettenkonstante eingefügt, die nur aus Kleinbuchstaben besteht. In diesem Beispiel:

    CONST
      myTestName = "mytest.library";

Die in die Library einkodierte Resident-Struktur enthält den gleichen Namen sowie eine Identifikations-Zeichenkette mit folgendem Aufbau:

> `cmsltt Name version.revision `(Link-Datum`)",cr,lf,0```

In unserem Beispiel:

> `"MyTest 33.10 (4 Nov 1990)",cr,lf,0`

Die Zeichenkette wird immer mit den Zeichen `ASCII.cr`, `ASCII.lf` und dem Nullbyte abgeschlossen.

In der FD-Datei erscheint im Beispiel ,,`_MyTestBase``` als Name der Library-Basis.

Nächste Seite: Sonstige Konventionen Aufwärts: Der Library-Linker (M2LibLink) Vorherige Seite: Aufruf und Optionen