Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Initialization on dynamic program loading

&pagelevel(4)&pagelevel

On program startup, ILCS performs the necessary initializations for all languages involved in the program system.
The involvement of a language is only detected if the modules of a language are linked statically or if they are recognized by the dynamic linking loader (DLL).

If, in Assembler programs, program sections containing objects in languages not yet called are loaded by means of the BIND macro, the necessary initializations will not have been carried out for these languages.
In such instances the ILCS routine IT0ININ must be called in a user routine after dynamic loading in an Assembler routine. The ASSEMBH structure macro @ININ is available for calling IT0ININ (see the example in the appendix and the “ASSEMBH” Reference Manual [12 (Related publications)]). ILCS must already have been initialized when IT0ININ is called.

When dynamically loading subprograms in COBOL85/COBOL2000 programs with “CALL identifier”, the COBOL85/COBOL2000 runtime system automatically calls IT0ININ internally.

Special aspect of C++

Even if C++ modules are already present, the ILCS routine IT0ININ must be called after each dynamic loading of a C++ modules. This is necessary to ensure that calls for global constructors are made.