Statisch binden mit BINDER
C- oder COBOL-Programm (Bindemodul oder Bindelademodul)
/START-BINDER //START-LLM-CREATION INT-NAME=interner-name ------------------------ (1) //INCLUDE-MODULES LIB=..., ELEM=... -------------------------------- (2) //RESOLVE-BY-AUTOLINK LIB=benutzerbibliothek ----------------------- (3) //RESOLVE-BY-AUTOLINK LIB=$.SYSLNK.CRTE ---------------------------- (4) //SAVE-LLM LIB=..., ELEM=... --------------------------------------- (5) //END
(1)
Ein Bindelademodul mit dem Namen
interner-name
wird erzeugt.(2)
Die Module des Programms werden explizit eingefügt.
(3)
Die Benutzerbibliothek
benutzerbibliothek
wird mit der Autolink-Funktion statisch eingebunden.(4)
Die Bibliothek $.SYSLNK.CRTE, die u.a. das vollständige C- und COBOL-Laufzeitsystem enthält, wird mit der Autolink-Funktion statisch eingebunden.
(5)
Das generierte aktuelle Bindelademodul wird gespeichert.
C++-Programm, Cfront-Modus (Bindelademodul) für Compiler-Versionen <= V2.2
/START-BINDER //START-LLM-CREATION INT-NAME=interner-name ------------------------ (1) //INCLUDE-MODULES LIB=..., ELEM=... -------------------------------- (2) //RESOLVE-BY-AUTOLINK LIB=benutzerbibliothek ----------------------- (3) //RESOLVE-BY-AUTOLINK LIB=($.SYSLNK.CRTE,$.SYSLNK.CRTE.CPP) -------- (4) //SAVE-LLM LIB=..., ELEM=... --------------------------------------- (5) //END
(1)
Ein Bindelademodul mit dem Namen
interner-name
wird erzeugt.(2)
Die Module des Programms werden explizit eingefügt.
(3)
Die Benutzerbibliothek
benutzerbibliothek
wird mit der Autolink-Funktion statisch eingebunden.(4)
Mit der Autolink-Funktion statisch eingebunden werden außerdem:
Die Bibliothek $.SYSLNK.CRTE, die u.a. das vollständige C- und COBOL-Laufzeitsystem enthält (siehe "Liefereinheit CRTE V10.1A").
Die Bibliothek $.SYSLNK.CRTE.CPP, die die Cfront-C++-Bibliotheksfunktionen enthält (siehe Abschnitt "Cfront-C++-Bibliotheksfunktionen und -Laufzeitsystem“).
(5)
Das aktuelle Bindelademodul wird gespeichert.
Cfront-C++-Programm (Bindelademodul) für Compiler-Versionen ab V3.0
/START-CPLUS-COMPILER ----------------------------------------------- (1) //MODIFY-BIND-PROPERTIES INCLUDE=*LIB(LIB=...,ELEM=...) //MODIFY-BIND-PROPERTIES RESOLVE=*AUTOLINK(benutzerbibliothek) //MODIFY-BIND-PROPERTIES RUNTIME-LANG=CPLUSPLUS(CPP),STDLIB=STATIC //BIND OUTPUT=*LIB(LIB=...,ELEM=...)
(1)
Der Binder wird implizit durch den C++-Compiler aufgerufen.
Die nachfolgenden Anweisungen für den C++-Compiler haben die gleiche Funktionalität wie die BINDER-Anweisungen in Beispiel 2.