Ein Shared Object in C müssen Sie auf Unix- und Linux-Systemen immer so übersetzen, dass dabei das jeweilige Laufzeitsystem mit eingebunden wird.
Näheres über das Übersetzen auf Windows-Systemen siehe "Anwendung übersetzen und binden (Windows-Systeme)".
Versionskonzept von Shared Objects
Shared Objects können mit oder ohne Versionen erstellt werden.
Ohne Versionen
Wenn Sie ein Shared Object ohne Version bereitstellen wollen, dann müssen Sie genau eine Datei mit dem Shared Object bereitstellen. Beim Austauschen mit dem Administrationskommando KDCPROG reicht die Angabe des Dateinamens. Shared Objects ohne Version können nur beim Start der Anwendung nachgeladen werden.
Mit Versionen
Soll ein Shared Object in mehreren Versionen verfügbar sein, dann müssen Sie zuerst ein Verzeichnis anlegen und anschließend die einzelnen Versionen des Shared Object in dieses Verzeichnis kopieren. Sie können beliebig viele Versionen einbringen. Beim Austauschen geben Sie sowohl den Verzeichnisnamen des Shared Objects als auch den Versionsnamen an.
Auf Windows-Systemen sollten Sie Shared Objects immer mit Versionen erstellen.
Shared Objects generieren
Jedes Shared Object muss mit der KDCDEF-Anweisung SHARED-OBJECT generiert werden (siehe openUTM-Handbuch „Anwendungen generieren“) . Dabei geben Sie Folgendes an:
Den Namen, den das Shared Object besitzt. Ist es ein Shared Object ohne Versionen, dann geben Sie den Dateinamen an, unter dem es abgespeichert ist. Ist es ein Shared Object mit Versionen, dann geben Sie den Namen des Verzeichnisses an, in dem die Versionen stehen.
Auf Windows-Systemen muss der Name des Shared Object die Erweiterung .
dll
haben.Pro Shared Object kann nur eine Version generiert werden. Die Version kann per UTM- Administration geändert werden.
Den Dateinamen der jeweiligen Version, falls es ein Shared Object mit Version ist (Operand VERSION).
Auf Windows-Systemen muss die Version angegeben werden.
Den Pfadnamen, unter dem das Shared Object zu finden ist (Operand DIRECTORY).
Auf Windows-Systemen sollten Sie immer den kompletten Pfad angeben, da die Umgebungsvariablen PATH und LD_LIBRARY_PATH für Shared Objects nicht ausgewertet werden.
Ob das Shared Object beim Start der Anwendung (LOAD-MODE=STARTUP) oder beim ersten Aufruf (LOAD-MODE=ONCALL) geladen werden soll.
In der zu dem Teilprogramm gehörenden PROGRAM-Anweisung müssen Sie den Namen des Shared Object angeben (Operand SHARED-OBJECT, siehe auch die Beispiele auf "Beispiele für Austausch von Shared Objects").