By default, the compiler generates one executable file for each compiler invocation. If you specify /C+, the compiler generates only object files, which you can then link separately to create an executable file.
There are two types of executable files:
This is the default, and most C and C++ applications run under this environment. It supports all the IBM C and C++ Compilers runtime functions and automatically provides initialization, exception management, and termination routines for C and C++.
Programs developed as subsystems can only make use of a subset of the IBM C and C++ Compilers runtime library. You have to take care of initialization, exception management, and termination using Windows services and APIs.
Subsystems are intended for developing applications that cannot have a resident environment. If your application does not require the IBM C and C++ Compilers runtime environment, you can also use the subsystem library to reduce your program's size and improve its performance. To compile a subsystem executable file, use the /Rn option.