Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Initialisierung bei dynamischem Nachladen von Programmen

&pagelevel(4)&pagelevel

ILCS führt bei Programmstart die notwendigen Initialisierungen für alle am Programmsystem beteiligten Sprachen durch.Die Beteiligung einer Sprache wird jedoch nur erkannt, wenn die Module einer Sprache statisch eingebunden sind oder wenn sie vom dynamischen Bindelader erkannt werden.

Wenn in Assemblerprogrammen Programmteile mit dem BIND-Makro dynamisch nachgeladen werden, die Objekte in bisher nicht beteiligten Sprachen enthalten, so sind für diese Sprachen die notwendigen Initialisierungen noch nicht durchgeführt.
Für diesen Fall muss nach dem dynamischen Nachladen in einer Assemblerroutine die ILCS-Routine IT0ININ aufgerufen werden. Für den Aufruf von IT0ININ steht das ASSEMBH-Strukturmakro @ININ zur Verfügung (siehe Beispiel im Anhang und Handbuch „ASSEMBH-Beschreibung“[12]). Bei Aufruf von IT0ININ muss ILCS bereits initialisiert sein.

Beim dynamischen Nachladen von Unterprogrammen in COBOL85/COBOL2000-Programmen mit „CALL bezeichner“ wird der Aufruf von IT0ININ intern automatisch durch das COBOL85/COBOL2000-Laufzeitsystem durchgeführt.

Besonderheit in C++

Auch wenn C++-Programmteile bereits vorhanden sind, muss nach jedem dynamischen Nachladen eines C++-Programmteils die ILCS-Routine IT0ININ aufgerufen werden. Nur so ist gewährleistet, dass Aufrufe für globale Konstruktoren durchgeführt werden.