The shared run-time system for running native COBOL code comprises multiple .dll files, each of which can be separately loaded when required, whenever a program linked with it runs. All separately linked subprograms call the same copy of the run-time system, avoiding duplicate code. In addition, programs running in separate sessions use the same run-time system, reducing memory usage.
When a program linked to the shared run-time system runs, external calls are made to the run-time system and the required part of the run-time system is loaded.
To run a program linked with the shared run-time system, you might need to provide some other files, such as a trigger program or some run-time support modules.
When an .exe or .dll file runs, it uses whichever run-time system it is linked with: either the shared or the static linked run-time system.