Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Bibliotheken des C-Laufzeitsystems

&pagelevel(4)&pagelevel

In diesem Abschnitt werden folgende Bibliotheken beschrieben:

Bibliothek SYSLNK.CRTE

Diese Bibliothek enthält:

  • Quellprogramme für die Generierung der benutzerspezifischen Lokalitäten (Typ S)

    USLOCA

    Assembler-Quellprogramm

    USLOCC

    C-Quellprogramm

  • Einzelmodule des C-Laufzeitsystems
    (Bindemodule, Typ R CRTESIS; subsystem:CRTESIS)

    Diese Module können statisch mit dem BINDER oder dynamisch mit dem DBL gebunden werden. Das C-Laufzeitsystem kann auch dynamisch nachgeladen werden (Partial-Bind-Bindetechnik). In diesem Fall muss beim Binden statt der Bibliothek SYSLNK.CRTE eine der beiden folgenden Bibliotheken angegeben werden:

    • SYSLNK.CRTE.PARTIAL-BIND (Standard Partial-Bind)

    • SYSLNK.CRTE.COMPL (Complete Partial-Bind)

  • Namens-Adaptermodule für neue C-Bibliotheksfunktionen

    • Bindemodule (OMs, Typ R)

    • Bindelademodule (LLMs, Typ L)

    Die Adaptermodule gehören zu den nicht vorladbaren Bestandteilen des C-Laufzeitsystems und müssen deshalb in das Anwendungsprogramm eingebunden werden.

  • C-Laufzeitsystem als dynamisch nachladbares Großmodul (Bindemodul, Typ R) und Bindelademodul (LLM, Typ L)

    Dieses Großmodul wird zum Ablaufzeitpunkt dynamisch nachgeladen, wenn beim Binden an Stelle der Bibliothek SYSLNK.CRTE die Bibliothek SYSLNK.CRTE.PARTIAL-BIND bzw. SYSLNK.CRTE.COMPL eingebunden wird und das nachladbare C-Laufzeitsystem als Subsystem CRTEPART nicht in den Klasse-4-Speicher vorgeladen ist.

Bibliothek SYSLNK.CRTE.SHARE

Diese Bibliothek enthält das C-Laufzeitsystem als gemeinsam benutzbares Großmodul IC@RTSXS. Dieses Großmodul kann vom Systemverwalter als Subsystem CRTEC im Klasse-4-Speicher geladen werden.

Bibliothek SYSLNK.CRTE.POSIX

Diese „Bindeschalter“-Bibliothek muss immer eingebunden werden, wenn die POSIX-Funktionen des C-Laufzeitsystems verwendet werden. Sie enthält die Module ICSS44Y@ und ICSTISP@ (Bindemodul, Typ R), das vorrangig vor den Modulen in der Bibliothek SYSLNK.CRTE bzw. SYSLNK.CRTE.PARTIAL-BIND bzw. SYSLNK.CRTE.COMPL eingebunden werden muss. Es ist erforderlich, beim Binden mit BINDER die Bibliothek mit einer INCLUDE-MODULES-Anweisung (ohne Angabe eines Modulnamens) einzubinden, da sonst beim Einbinden über den Autolink-Mechanismus (RESOLVEs) unbedingt die Bindereihenfolge zu beachten ist und sich der Inhalt der Bibliotheken auch ändern kann. Beim dynamischen Binden mit dem DBL muss der Bindeschalter-Bibliothek ein niedrigerer Linkname BLSLIBnn zugewiesen werden als den nachrangig einzubindenden CRTE-Bibliotheken. Bei Programmentwicklung in der POSIX-Shell mit den Kommandos cc, c89 oder CC wird der POSIX-Bindeschalter automatisch eingebunden.

Bibliotheken SYSLNK.CRTE.COMPV1 und SYSLNK.CRTE.COMPV2

Vom C-Compiler V1.0 erzeugte Objekte sind mit CRTE ablauffähig, wenn sie sowohl mit der Bibliothek SYSLNK.CRTE bzw. SYSLNK.CRTE.PARTIAL-BIND bzw. SYSLNK.CRTE.COMPL als auch mit der Bibliothek SYSLNK.CRTE.COMPV1 neu gebunden werden.

C-Module bzw. C-Programme mit eingebundenem Verbindungsmodul aus der CLIB V2.0 benötigen für den Ablauf das zu C V2.0 kompatible, dynamisch nachladbare C-Laufzeitsystem. Dieses Laufzeitsystem ist nach der Installation von CRTE in der Bibliothek $.CLIB enthalten. Dadurch entfällt die Notwendigkeit (vgl. CRTE bis einschließlich V1.0B), vor Aufruf eines C-V2.0-Programmes die Bibliothek SYSLNK.CRTE.COMPV2 mit dem Linknamen IC@CLIB zuzuweisen. Prozeduren, die diese Zuweisung enthalten, müssen nicht geändert werden.

Bibliothek SYSLNK.CRTE.TIMESHIFT

Diese „Bindeschalter“-Bibliothek wird nur noch aus Kompatibiltätsgründen unterstützt.

Sie diente in früheren Versionen dazu, den Stichtag (Epoche) für die Zeitfunktionen ctime, difftime, ftime, gmtime, localtime, mktime und time vom 1.1.1950 auf den 1.1.1970 00:00:00 zu verlegen. Da in der aktuellen CRTE-Version der Stichtag standardmäßig der 1.1.1970 00:00:00 ist, ist der Einsatz dieses Bindeschalters nicht mehr erforderlich.

Bibliothek SYSLNK.CRTE.TIME50

Diese „Bindeschalter“-Bibliothek verlegt den Stichtag (Epoche) für die Zeitfunktionen ctime, difftime, ftime, gmtime, localtime, mktime und time auf den 1.1.1950 00:00:00. Damit kann für die genannten Zeitfunktionen das Verhalten eingestellt werden, wie es in den CRTE-Versionen bis V2.9 sowie in V10.0A und V11.0A standardmäßig eingestellt war.

Dieser Bindeschalter ist dann erforderlich, wenn Zeitstempel verarbeitet werden sollen, die mit einem Stichtag (Epoche) 01.01.1950 erzeugt wurden.

Allerdings liefern die oben genannten Zeitfunktionen in diesem Fall für Zeitstempel nach dem 19.01.2018 03:14:07 keine korrekten Ergebnisse mehr. Insbesondere führt der Aufruf der Funktionen time und ftime zur Beendigung des Programms, da das aktuelle Datum größer ist als der 19.01.2018.

Geben Sie beim Binden die folgende Anweisung an, um den Bindeschalter zu verwenden:

INCLUDE-MODULE LIB=<bibliothek>,ELEMENT=*ALL

Bibliothek SYSLIB.CRTE

Die Source-Bestandteile des C-Laufzeitsystems (Standard-Include-Elemente und Quellprogramme für benutzereigene Lokalitäten) werden in der Bibliothek SYSLIB.CRTE bereitgestellt. Diese Bibliothek enthält außerdem die ILCS-Makros.