Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Erzeugen eines Shared Object

&pagelevel(3)&pagelevel

Ein Shared Object wird mit Hilfe des Kommandos genso erzeugt. Die Optionen und Parameter entsprechen weitgehend denen des Kommandos cc.

-B plam ... -B ar

Innerhalb dieser Klammer werden die Optionen –L und -l so interpretiert, dass PLAM-Bibliotheken verarbeitet werden können, zusätzlich wird die neue Option -m interpretiert.

-B static
-B dynamic

Gibt an, ob ar-Bibliotheken oder dynamische Bibliotheken zum Generieren des Shared Object verwendet werden sollen.

Verwendung nur beim Generieren.

-B symbolic

Gibt den Auflösungsalgorithmus an.

-L verzeichnis

Gibt das Verzeichnis an.

-L bs2000_user_id

Gilt nur zwischen B plam und B ar und gibt die BS2000-Benutzerkennung an:

$

steht für TSOS.

.

(Punkt) steht für die Benutzerkennung, unter der die Anwendung abläuft.

%name

die Benutzerkennung wird der Umgebungsvariablen name entnommen.

-l xxx

Gibt die Bibliothek an: libxxx.a oder libxxx.so

Wenn -l xxx zwischen B plam und B ar angegeben wird, dann ist xxx der Name der BS2000-Bibliothek.

-m member

Gilt nur zwischen B plam und B ar und gibt den Namen des Elements der PLAM-Bibliothek an (L-Element).

-o output

Gibt die Ausgabe an.

-S low | high

Der Inhalt des Shared Object wird auf stdout ausgegeben; im Falle von low ist dies nur das aktuelle Objekt, im Falle von high zusätzlich noch alle davon abhängigen Shared Objects.

-X lang=clang=c++lang=cobol

Gibt die Programmiersprache des nachzuladenden Objekts an. Mischungen sind möglich.

Standardwert ist lang=c.

file.o

Beim Generieren verwendete o-Datei.


Andere geläufige UNIX-Optionen wie -h name, -Kpic und -b werden nicht unterstützt.

Das Kommando genso erzeugt die so-Datei. Wenn die Option -B symbolic nicht angegeben wird, dann werden bereits zum Generierungszeitpunkt die Externverweise so weit wie möglich aufgelöst. Die Objekte in der so-Datei werden dabei zu einem Großmodul gebunden. Beim Laden erhält das Shared Object selbst die höchste Priorität beim Auflösen der Verweise.

Prioritätsregeln für die Suche nach einer Bibliothek

Für die Suche nach Bibliotheksverzeichnissen gelten folgende Prioritäten:

  1. Verzeichnisse, die in der Variablen LD_LIBRARY_PATH enthalten sind

  2. Verzeichnisse, die über die Option -L definiert sind

  3. das Standard-Verzeichnis /usr/lib