Nächste Seite: Namens-Konventionen
Aufwärts: Der Library-Linker (M2LibLink)
Vorherige Seite: Der Library-Linker (M2LibLink)
Aufruf:
M2LibLink {+-012348acdfimq -lLibFile
-tTargetFile ? ?? ObjectFile}
Da das Programm M2LibLink aus dem herkömmlichen Linker m2l
hervorgegangen ist, verwundert es sicher nicht weiter, dass
Bedienung und Optionen fast identisch sind.
M2LibLink besitzt keinen ARexx-Port und keine Möglichkeit zum
Verzeichniswechsel. Die von m2l bekannten Möglichkeiten zur
Festlegung des Laufzeitsystems (m und r) sind hier nicht
vorhanden, es wird immer das spezielle, sehr rudimentäre
Laufzeitsystem LArts.obj eingebunden. Ebenso ist die
Angabe einer minimalen Stapelgrösse sinnlos, da die erzeugten
Objekte lediglich Prozeduren enthalten und keine eigenständigen
Prozesse sind.
Mit Hilfe der Umgebungsvariablen ,,M2LibLink`` lässt sich die
Voreinstellung der Optionen festlegen.
Die Optionen im einzelnen:
- a
- (ask module) Durch die Option ,,+a`` wird der Library-Linker
veranlasst, vor dem Einlesen jeder Datei dem Benutzer die
Möglichkeit zu geben, einen anderen Dateinamen einzugeben.
Hierbei zeigt er in eckigen Klammern den Dateinamen an. Wenn
Sie einfach drücken, wird die angezeigte Datei eingelesen,
andernfalls die von Ihnen eingetippte. Dieser Vorgang wird solange
wiederholt, bis die Datei erfolgreich eingelesen werden konnte.
Geben Sie einfach nur ein Minuszeichen ein, wird für diesen
Linkvorgang die Option ausgeschaltet und die restlichen, noch
zu lesenden Dateien ohne Nachfrage geladen.
- i
- (icon) Falls diese Option eingeschaltet ist, werden für alle erzeugten
Dateien auch Workbench-Ikonen angelegt.
,,-i`` unterdrückt dies. Wenn der Library-Linker von der Workbench
gestartet wurde, ist die Ikonen-Erzeugung eingeschaltet, beim Start
vom CLI wird standardmässig keine Ikone erzeugt.
Zur korrekten Funktion müssen im Verzeichnis m2:icons
die beiden Ikonen txt.info und library.info vorhanden sein.
- c
- steht für ,,CODE``. ,,+c`` bewirkt, dass die einzelnen
CODE-Hunks soweit wie möglich in maximal 32kByte grossen Hunks
zusammengelegt werden, was zu einem erheblich kürzeren Objekt
führen kann. Standardeinstellung für diese Option ist ,,+``.
- d
- steht für ,,DATA``. Nach ,,+d`` legt der Library-Linker alle
DATA- und BSS-Hunks gleichen Typs (CHIP, FAST, ,,normal``) zusammen.
Dies ist auch die Vorgabe. Hierdurch wird
das fertige Objekt etwas kleiner.
- lLibFile
- Hier ist ,,+`` oder ,,-``
ohne Wirkung. Durch diese
Option wird dem Linker mitgeteilt, in welchen Dateien er undefinierte
Symbole suchen soll, die z.B. mit einem Assembler erzeugt und im Modul
als externe Variablen deklariert wurden.
Das Argument LibFile muss den kompletten Pfad enthalten!
Das ,,l`` kann sich direkt an die anderen Optionen anschliessen; falls
jedoch mehrere Dateien geladen werden sollen, muss jeweils eine
eigene Option hierfür angegeben werden, da alle Zeichen nach dem
,,l`` als Teil des Dateinamens eingelesen werden.
Die Angabe einer ,,Extra``-Datei gilt immer nur für das nächste
zu bearbeitende Objekt. Danach werden diese Angaben vergessen!
- tTargetFile
- bietet die Möglichkeit, der erzeugten Datei
einen anderen Namen zu geben. Diese Option gilt (wie ,,l``) nur
für den nächsten Linkvorgang. Direkt an den Buchstaben ,,t`` schliesst
sich ein Dateiname (einschliesslich Pfad) an. Standardeinstellung ist der
Modulname des Schnittstellenmoduls mit den Endungen
,,.library``, ,,.device`` oder ,,.resource``.
- 012348
- Auch hierbei sind ,,+`` oder ,,-`` wirkungslos.
Durch die Ziffer wird dem Library-Linker mitgeteilt, welche Art
Objektdateien er einbinden soll, um den bestmöglichen Code für den
Zielprozessor zu erzeugen. Vorgabe ist ,,0``.
- q
- Mit der Option ,,-q`` werden alle Meldungen des
Library-Linkers unterdrückt.
Beim Eintritt in den interaktiven Modus (z.B. durch einen Fehler) wird
die Option wieder auf ihre Standardeinstellung ,,+`` gesetzt.
- m
- Durch die Angabe ,,+m`` wird der Library-Linker veranlasst,
neben dem normalen Link-Vorgang aus dem Definitionsmodul ein
Schnittstellenmodul zu erzeugen.
Nachdem das hierbei erzeugte
Modul compiliert wurde, kann das zugehörige Objekt von jedem
mit erstellten Programm benutzt werden. Diese Option hat
den Standardwert ,,-``.
- f
- Damit auch Programmierer anderer Sprachen in den ,,Genuss``
des Objektes kommen, kann durch die Angabe ,,+f`` die Erzeugung
einer FD-Datei (function description) veranlasst werden. Dies
ist eine Textdatei, die für jede Prozedur den Namen und die
Parameter-Register angibt.
Diese Option hat den Standardwert ,,-``.
- ??
- Die Eingabe zweier Fragezeichen zeigt die Version des Linkers
und den aktuellen Status aller Optionen.
Tabelle 4.1:
Optionen des Library-Linkers in Kurzform
Option |
Vorgabe |
Wirkung |
? |
|
Version und Syntax |
?? |
|
Version, Syntax und Status |
a |
- |
Abfrage der Dateinamen |
c |
+ |
SmallCode |
d |
+ |
SmallData |
i |
WB:+, CLI:- |
Ikonen-Erzeugung |
q |
+ |
Ausgabe von Meldungen |
m |
- |
Erzeugung der Schnittstelle |
f |
- |
Erzeugung der FD-Datei |
l |
|
Lade Extrafiles |
t |
Modulname |
Name der Zieldatei |
012348 |
0 |
Typ der Objektdateien (.ob1 ...) |
|
Nächste Seite: Namens-Konventionen
Aufwärts: Der Library-Linker (M2LibLink)
Vorherige Seite: Der Library-Linker (M2LibLink)
Claudio Nieder
2000-11-12