Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Produktion von Hauptprogrammen in C

&pagelevel(3)&pagelevel

Es wird empfohlen, das Hauptprogramm mit STDLIB=*DYNAMIC zu binden (Standardwert) und den EDT mit ILCS-Flag indicator.ilcs_environment = 1 (Standardwert) zu rufen. Die folgende Prozedur compiliert und bindet C-Hauptprogramme, die als
BEISPIEL1.C, BEISPIEL2.C, ... in der Bibliothek EDT.BEISPIELE abgelegt sind.
Das erzeugte Programm, die Compiler-Listen und die Diagnose-Ausgabe werden ebenfalls in dieser Bibliothek abgelegt.

/SET-PROCEDURE-OPTIONS INPUT-FORMAT=FREE-RECORD-LENGTH,/
    DATA-ESCAPE-CHAR=STD
/BEGIN-PARAMETER-DECLARATION
/   DECLARE-PARAMETER NAME=NR
/   DECLARE-PARAMETER NAME=LIB,INITIAL-VALUE=C'EDT.BEISPIELE'
/END-PARAMETER-DECLARATION
/START-CPLUS-COMPILER
//MODIFY-SOURCE-PROP LANGUAGE=*C
//MODIFY-RUNTIME-PROPERTIES PARAMETER-PROMPTING=*NO
//MODIFY-INCLUDE-LIBRARIES USER-INCLUDE-LIBRARY=//
    $.SYSLIB.EDT.170                   ------------------------------ (1)
//MODIFY-DIAGNOSTIC-PROPERTIES OUTPUT=*LIBRARY-ELEMENT(//
    LIB=&LIB,ELEM=*STD-ELEMENT()),//
    MIN-MSG-WEIGHT=*NOTE
//MODIFY-LISTING-PROPERTIES OUTPUT=*LIBRARY-ELEMENT(-
//    LIB=&LIB,ELEM=*STD-ELEMENT()),SOURCE=*YES()
//COMPILE SOURCE=*LIB-ELEM(LIB=&LIB,ELEM=BEISPIEL&NR..C),//
    MODULE-OUTPUT=*LIB-ELEM(LIB=&LIB,ELEM=BEISPIEL&NR)
//MOD-BIND-PROP INCLUDE=(*LIB(LIB=&LIB,ELEM=BEISPIEL&NR),-   ---------- (2)
//    *LIB(LIB=$.SYSLNK.EDT.170,ELEM=IEDTGLE)),//
    RUNTIME-LANG=*C,STDLIB=*DYNAMIC --------------------------------- (3)
//BIND OUTPUT=*LIB(LIB=&LIB,ELEM=BSP&NR.C)  --------------------------- (4)
//END
/EXIT-PROCEDUR

Erläuterungen

(1)Es wird angenommen, dass die SYSLIB.EDT.170 unter der Default-Userid installiert ist. Der C-Compiler benötigt diese Bibliothek, um die Header-Files der IEDTGLE-Schnittstelle zu finden.
(2)Das Benutzerprogramm wird mit dem Modul IEDTGLE aus der SYSLNK.EDT.170 zusammengebunden. IEDTGLE lokalisiert mittels IMON die EDT-Bibliotheken und lädt seinerseits den EDT dynamisch nach, bzw. konnektiert sich an das EDT-Subsystem.
(3)Der Adapter für das C-Laufzeitsystem wird vom Compiler automatisch eingebunden, wenn STDLIB=*DYNAMIC spezifiziert wird.
(4)Das erzeugte Programm kann anschließend mit /START-EXECUTABLE-PROGRAM (E=BSPxC,L=EDT.BEISPIELE) gestartet werden (x = 1,2,..).

Das ILCS-Flag hat nur dann eine Bedeutung, wenn vom EDT Anwenderroutinen geladen und aufgerufen werden sollen (siehe die folgenden Abschnitte).