This documentation is archived and is not being maintained.

/SUBSYSTEM (Specify Subsystem)



Win32 character-mode application. Console applications are given a console by the operating system. If main or wmain is defined, CONSOLE is the default.
Extensible Firmware Interface
The EFI_* subsystems. See the EFI specification for more information. For example, see the Intel web site. The minimum version and default version is 1.0.
Device drivers for Windows NT. If /DRIVER:WDM is specified, NATIVE is the default.
Application that runs with the POSIX subsystem in Windows NT.
Application does not require a console, probably because it creates its own windows for interaction with the user. If WinMain or wWinMain is defined, WINDOWS is the default.
Application that runs on a Windows CE device.
major and minor (optional)
Specify the minimum required version of the subsystem. The arguments are decimal numbers in the range 0 through 65,535. See the Remarks for details. There are no upper bounds for version numbers.


The /SUBSYSTEM option tells the operating system how to run the .exe file.

The choice of subsystem affects the default starting address for the program. For more information, see the Entry-Point Symbol (/ENTRY:function) option.

The optional minimum and default major and minor version numbers for the subsystems are as follows.

Subsystem Minimum Default
CONSOLE 3.10 (x86)
5.01 (Itanium)
4.00 (x86)
5.01 (Itanium)
WINDOWS 3.10 (x86)
5.01 (Itanium)
4.00 (x86)
5.01 (Itanium)
NATIVE (with DRIVER:WDM) 1.00 (x86)
1.10 (Itanium)
1.00 (x86)
1.10 (Itanium)
NATIVE (without /DRIVER:WDM) 3.10 (x86)
5.01 (Itanium)
4.00 (x86)
5.01 (Itanium)
POSIX 1.0 19.90

To set this linker option in the Visual Studio development environment

  1. Open the project's Property Pages dialog box. For details, see Setting Visual C++ Project Properties.
  2. Click the Linker folder.
  3. Click the System property page.
  4. Modify the SubSystem property.

To set this linker option programmatically

See SubSystem Property.

See Also

Setting Linker Options | Linker Options