C- oder COBOL-Programm (Bindemodul)
/SET-TASKLIB $.SYSLNK.CRTE ------------------------------------------- (1) ... /START-PROGRAM *MODULE(LIB=..., ELEM=..., PROG-MODE=ANY) ------------- (2)
(1)
Die Bibliothek $.SYSLNK.CRTE wird als Tasklib zugewiesen.
(2)
Sofern es sich bei dem angegebenen Startmodul um ein vorgebundenes Modul handelt, muss dieses Modul mit offenen Externbezügen auf das CRTE gebunden werden, d.h. ohne RESOLVE-Anweisung auf das CRTE (siehe Abschnitt "Dynamischer Bindelader DBL“).
C- oder COBOL-Programm (Bindemodul oder Bindelademodul)
/ADD-FILE-LINK LINK-NAME=BLSLIB00,FILE-NAME=benutzerbibliothek ----- (1) /ADD-FILE-LINK LINK-NAME=BLSLIB01,FILE-NAME=$.SYSLNK.CRTE ... /START-PROGRAM *MODULE(LIB=..., ELEM=..., PROG-MODE=ANY, ----------- (2) /RUN-MODE=ADVANCED(ALT-LIB=YES,AUTO=ALT-LIB))
(1)
Den Bibliotheken
benutzerbibliothek
und $.SYSLNK.CRTE werden die Linknamen BLSLIB00 bzw. BLSLIB01 zugewiesen. Dies bewirkt, dass zur Befriedigung unbefriedigter Externbezüge zuerstbenutzerbibliothek
und anschließend SYSLNK.CRTE durchsucht wird.
Die Linknamen müssen vor dem Binderlauf zugewiesen werden und werden nach dem Binderlauf nicht freigegeben.(2)
Sofern es sich bei dem angegebenen Startmodul um ein vorgebundenes Modul handelt, muss dieses Modul mit offenen Externbezügen auf das CRTE gebunden werden, d.h. ohne RESOLVE-Anweisung auf das CRTE (siehe Abschnitt "Dynamischer Bindelader DBL“).
C++-Programm (Bindelademodul) für Compiler-Versionen <= V2.2
/ADD-FILE-LINK LINK-NAME=BLSLIB00,FILE-NAME=benutzerbibliothek /ADD-FILE-LINK LINK-NAME=BLSLIB01,FILE-NAME=$.SYSLNK.CRTE /ADD-FILE-LINK LINK-NAME=BLSLIB02,FILE-NAME=$.SYSLNK.CRTE.CPP ------ (1) ... /START-PROGRAM *MODULE(LIB=..., ELEM=..., PROG-MODE=ANY,- --------- (2) /RUN-MODE=ADVANCED(ALT-LIB=YES,AUTO=ALT-LIB))
(1)
Aufbauend auf Beispiel 2 wird zusätzlich der Cfront-C++-Bibliothek $.SYSLNK.CRTE.CPP (siehe Abschnitt "Cfront-C++-Bibliotheksfunktionen und Laufzeitsystem“) der Linkname BLSLIB02 zugewiesen. Damit kann das Programm die C++-Bibliotheksfunktionen für komplexe Mathematik und Standard-E/A verwenden. Beachten Sie bitte, dass bei C++-Programmen, die eine C++-Version <= V2.2 verwenden, die Linknamen in der angegebenen Reihenfolge zugewiesen werden müssen.
Zur Befriedigung unbefriedigter Externbezüge werden die einzelnen Bibliotheken in der Reihenfolge ihrer Linknamen
BLSLIB00 -> BLSLIB01 -> BLSLIB02 durchsucht.(2)
Sofern es sich bei dem angegebenen Startmodul um ein vorgebundenes Modul handelt, muss dieses Modul mit offenen Externbezügen auf das CRTE gebunden werden, d.h. ohne RESOLVE-Anweisung auf das CRTE (siehe Abschnitt "Dynamischer Bindelader DBL“).
C++-Programm, Cfront-Modus (Bindelademodul) für Compiler-Versionen ab V3.0.
/ADD-FILE-LINK LINK-NAME=BLSLIB00,FILE-NAME=benutzerbibliothek /ADD-FILE-LINK LINK-NAME=BLSLIB01,FILE-NAME=$.SYSLNK.CRTE.RTSCPP /ADD-FILE-LINK LINK-NAME=BLSLIB02,FILE-NAME=$.SYSLNK.CRTE.CFCPP ---- (1) /ADD-FILE-LINK LINK-NAME=BLSLIB03,FILE-NAME=$.SYSLNK.CRTE ... /START-PROGRAM *MODULE(LIB=..., ELEM=..., PROG-MODE=ANY,------------ (2) RUN-MODE=ADVANCED(ALT-LIB=YES,AUTO=ALT-LIB))
(1)
Aufbauend auf Beispiel 3 wird der Bibliothek SYSLNK.CRTE.CFCPP (Cfront-Laufzeitsystem, siehe Abschnitt "Cfront-C++-Bibliotheksfunktionen und -Laufzeitsystem“) ein Linkname zugewiesen. Für C++-Programme ab der C++-Version V3.0 ist die Reihenfolge, in der die Linknamen BLSLIBnn zugewiesen werden, nicht mehr zwingend vorgeschrieben.
Zur Befriedigung unbefriedigter Externbezügen werden die einzelnen Bibliotheken in der Reihenfolge ihrer Linknamen
BLSLIB00 -> BLSLIB01 -> BLSLIB02 -> BLSLIB03 durchsucht.(2)
Sofern es sich bei dem angegebenen Startmodul um ein vorgebundenes Modul handelt, muss dieses Modul mit offenen Externbezügen auf das CRTE gebunden werden, d.h. ohne RESOLVE-Anweisung auf das CRTE (sieh Abschnitt "Dynamischer Bindelader DBL“).