/SUBSYSTEM (Specify Subsystem)
Visual Studio .NET 2003
/SUBSYSTEM:{CONSOLE|EFI_APPLICATION|EFI_BOOT_SERVICE_DRIVER|
EFI_ROM|EFI_RUNTIME_DRIVER|NATIVE|POSIX|WINDOWS|WINDOWSCE}
[,major[.minor]]
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.
- 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.
Remarks
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 |
| WINDOWSCE | 1.0 | 2.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 Property.