Export (0) Print
Expand All
Expand Minimize
1 out of 2 rated this helpful - Rate this topic

/SUBSYSTEM (Specify Subsystem)

Updated: July 2008

/SUBSYSTEM:{BOOT_APPLICATION|CONSOLE|EFI_APPLICATION|
            EFI_BOOT_SERVICE_DRIVER|EFI_ROM|EFI_RUNTIME_DRIVER|NATIVE|
            POSIX|WINDOWS|WINDOWSCE)
            [,major[.minor]]
BOOT_APPLICATION

An application that runs in the Windows boot environment. For more information about boot applications, see About BCD.

CONSOLE

Win32 character-mode application. The operating system provides a console for console applications. If main or wmain is defined for native code, int main(array<String ^> ^) is defined for managed code, or you build the application completely by using /clr:safe, 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

Kernel mode drivers for Windows NT. This option is usually reserved for Windows system components. 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 for native code, or WinMain(HISTANCE *, HINSTANCE *, char *, int) or wWinMain(HINSTANCE *, HINSTANCE *, wchar_t *, int) is defined for managed code, 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 more information. There are no upper bounds for version numbers.

The /SUBSYSTEM option specifies the environment for the executable.

The choice of subsystem affects the entry point symbol (or entry point function) that the linker will select.

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

Subsystem

Minimum

Default

BOOT_APPLICATION

1.0

1.0

CONSOLE

5.00 (x86) 5.02 (Itanium)5.02 (x64)

5.00 (x86) 5.02 (Itanium)5.02 (x64)

WINDOWS

5.00 (x86) 5.02 (Itanium) 5.02 (x64)

5.00 (x86) 5.02 (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.02 (Itanium) 5.02 (x64)

4.00 (x86) 5.02 (Itanium) 5.02 (x64)

POSIX

1.0

19.90

WINDOWSCE

4.02

5.0

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

  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

Date

History

Reason

July 2008

Added the BOOT_APPLICATION option and updated minimum and default versions.

Content bug fix.

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.