### Executable Files

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:

- Those that run in the IBM C and C++ Compilers runtime environment.

  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++.

- Those that run as subsystems.

  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.

Compiler Output
Subsystems

Choose Run-Time Libraries

Summary of Compiler Options