Three steps are necessary to convert a C/C++ source program into an executable program:
Preparation of the source program and header files
The source program may be in a cataloged BS2000 file, a PLAM library element (oftype S), or a POSIX file.
Header files may be located in PLAM library elements (type S), in POSIX files, or also in cataloged files if the source program itself is located in a cataloged file. The standard headers for the C and C++ library functions (excluding POSIX functions) are located by default in the CRTE libraries $.SYSLIB.CRTE, $.SYSLIB.CRTE.CPP, $.SYSLIB.CRTE.CXX01 and $.SYSLIB.CRTE.CXX02; the standard headers for POSIX library functions are located in the library $.SYSLIB.POSIX-HEADER.Compilation
The source program must be compiled into machine language. The compiler generates all modules only in LLM format and optionally saves them in PLAM library elements (of type L) or in POSIX object files.
Linkage
The modules generated during compilation are linked with modules from the C runtime system and the C++ runtime system (if C++ library functions are used) to create an executable unit.
Modules created in the modes C++ V3, C++ 2017 or C++ 2020 should not be linked with a direct call to BINDER, but only with the compiler statements MODIFY-BIND-PROPERTIES and BIND.
The following overview illustrates these basic steps and indicates where other relevant information can be found in this manual.