Share via


/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

  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 Also

Reference

Setting Linker Options
Linker Options