z/OS Language Environment Writing Interlanguage Communication Applications
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


DLL considerations

z/OS Language Environment Writing Interlanguage Communication Applications
SA38-0684-00

In DLL code, external variables are mapped across the load module boundary. DLLs are shared at the enclave level. Therefore, a single copy of a DLL applies to all modules in an enclave, regardless of whether the DLL is loaded implicitly (through a reference to a function or variable) or explicitly (through dllload()). See z/OS Language Environment Programming Guide for information about building and managing DLL code in your applications.

COBOL data declared with the EXTERNAL attribute are independent of DLL support. These data items are managed by the COBOL runtime, and are accessible by name from any COBOL program in the run-unit that declares them, regardless of whether the programs are in DLLs or not.

In particular, the facilities for exporting and importing external variables from DLLs implemented in z/OS® C/C++ do not apply to COBOL external data. Hence C/C++ external data and COBOL external data are always in separate name spaces, regardless of DLL considerations.

For C/C++, non-DLL applications have external data which is only shared within the load module.

However, for DLL applications, C/C++ external data is now (optionally) accessible to all C/C++ routines in the enclave.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014