DLL concepts and terms

Function
In this topic, function is used to generically refer to a callable routine or program, and is specifically applicable to C and C++. In COBOL a function would be a COBOL program or method. In Enterprise PL/I a function would be a PL/I procedure.
Variable
In this topic, variable is used to generically refer to a data item, such as a static variable in C/C++.
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. The executable code and data are bound to the program at run time. The code and data in a DLL can be shared by several DLL applications simultaneously. It is important to note that compiling code with the DLL option does not mean that the produced executable will be a DLL. To create a DLL, you must compile with the DLL option and export one or more symbols.
DLL application
An application that references imported functions, imported variables, or both, from other DLLs.
DLL code
DLL code is code that is compiled with the DLL option of the C and COBOL compilers, code that is compiled with the RENT option of the Enterprise PL/I compiler, or any code compiled with the C++ compiler.
Executable program (or executable module)
A file which 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 z/OS UNIX file system.
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.
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.
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 nonimported.
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.
Function descriptor
An internal control block containing information needed by compiled code to call a function.
Variable descriptor
An internal control block containing information about the variable needed by compiled code.