/SUBSYSTEM (Specify Subsystem)
/SUBSYSTEM:{CONSOLE|EFI_APPLICATION|EFI_BOOT_SERVICE_DRIVER|
EFI_ROM|EFI_RUNTIME_DRIVER|NATIVE|POSIX|WINDOWS|WINDOWSCE}
[,major[.minor]]
Remarks
where:
- CONSOLE
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.
- NATIVE
Device drivers for Windows NT. If /DRIVER:WDM is specified, NATIVE is the default.
- POSIX
Application that runs with the POSIX subsystem in Windows NT.
- WINDOWS
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.
- WINDOWSCE
Application that runs on a Windows CE device.
- majorand 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.
Remarks
The /SUBSYSTEM option tells the operating system how to run the .exe file.
The choice of subsystem affects the entry point symbol (or entry point function) that the linker will choose.
The optional minimum and default major and minor version numbers for the subsystems are as follows.
Subsystem | Minimum | Default |
---|---|---|
CONSOLE |
4.00 (x86) 5.01 (Itanium)5.02 (x64) |
4.00 (x86) 5.01 (Itanium)5.02 (x64) |
WINDOWS |
4.00 (x86) 5.01 (Itanium) 5.02 (x64) |
4.00 (x86) 5.01 (Itanium) 5.02 (x64) |
NATIVE (with DRIVER:WDM) |
1.00 (x86) 1.10 (Itanium) 1.10 (x64) |
1.00 (x86) 1.10 (Itanium) 1.10 (x64) |
NATIVE (without /DRIVER:WDM) |
4.00 (x86) 5.01 (Itanium) 5.02 (x64) |
4.00 (x86) 5.01 (Itanium) 5.02 (x64) |
POSIX |
1.0 |
19.90 |
WINDOWSCE |
3.0 |
4.10 |
EFI_APPLICATION, EFI_BOOT_SERVICE_DRIVER, EFI_ROM, EFI_RUNTIME_DRIVER |
1.0 |
1.0 |
To set this linker option in the Visual Studio development environment
Open the project's Property Pages dialog box. For details, see Setting Visual C++ Project Properties.
Click the Linker folder.
Click the System property page.
Modify the SubSystem property.
To set this linker option programmatically
- See SubSystem.