Statisch binden mit dem 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.PARTIAL-BIND --------------- (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 wird mit der Autolink-Funktion statisch eingebunden.
(4)
Die Bibliothek $.SYSLNK.CRTE.PARTIAL-BIND (Standard Partial-Bind), die u.a. das Verbindungsmodul auf das dynamisch nachladbare C- und COBOL-Laufzeitsystem enthält (siehe "Liefereinheit CRTE V11.1A"), wird mit der Autolink-Funktion statisch eingebunden.
Alternativ können Sie mit der Bindetechnik Complete Partial-Bind binden, indem Sie anstatt der Bibliothek $.SYSLNK.CRTE.PARTIAL-BIND die Bibliothek $.SYSLNK.CRTE.COMPL verwenden.(5)
Das aktuelle Bindelademodul wird gespeichert.
C++-Programm (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.PARTIAL-BIND,$.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 wird mit der Autolink-Funktion statisch eingebunden.
(4)
Mit der Autolink-Funktion statisch eingebunden werden außerdem:
Die Bibliothek $.SYSLNK.CRTE.PARTIAL-BIND, die u.a. das vollständige C- und COBOL-Laufzeitsystem enthält (siehe "Liefereinheit CRTE V11.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.
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=DYNAMIC //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.
Laden und Starten von fertig gebundenen Bindelademodulen
/START-PROGRAM *MODULE(LIB=...,ELEM=...,RUN-MODE=ADVANCED)