DLL concepts and terms

Table 1 summarizes important concepts and terminology about DLLs.
Table 1. Summary of DLL concepts and terms
Term Definition
Application All the code executed from the time an executable program module is invoked until that program, and any programs it directly or indirectly calls, is terminated.
DLL An executable module that exports functions, variable definitions, or both, to other DLLs or DLL applications.
DLL application An application that references imported functions, imported variables, or both, from other DLLs.
DLL code Object code resulting when C source code is compiled with the DLL or XPLINK compiler options. C++ code is always DLL code.
Executable program (or executable module) A file that can be loaded and executed on the computer. z/OS® supports two types:
Load module
An executable residing in a PDS.
Program object
An executable residing in a PDSE or in the UNIX file system.
Exported functions or variables Functions or variables that are defined in one executable module and can be referenced from another executable module. When an exported function or variable is referenced within the executable module that defines it, the exported function or variable is also non-imported.
Function descriptor An internal control block containing information needed by compiled code to call a function.
Imported functions and variables Functions and variables that are not defined in the executable module where the reference is made, but are defined in a referenced DLL.
Non-imported functions and variables Functions and variables that are defined in the same executable module where a reference to them is made.
Object code (or object module) A file output from a compiler after processing a source code module, which can subsequently be used to build an executable program module.
Source code (or source module) A file containing a program written in a programming language.
Variable descriptor An internal control block containing information about the variable needed by compiled code.
Writable Static Area (WSA) An area of memory that is modifiable during program execution. Typically, this area contains global variables and function and variable descriptors for DLLs.
XPLINK application An application that is made up of C and/or C++ object modules that were compiled with the XPLINK compiler option. XPLINK applications are always DLL applications. Since the C/C++ runtime library for XPLINK is packaged as a DLL, any XPLINK executable module that calls a C/C++ runtime library is also importing from a DLL.
XPLINK code Object code resulting when C or C++ source code is compiled with the XPLINK compiler option. XPLINK code is always DLL code.