/SUBSYSTEM (Указание подсистемы)

Укажите подсистему Windows, предназначенную для исполняемого файла.

Синтаксис

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

Аргументы

BOOT_APPLICATION
Приложение, которое выполняется в среде загрузки Windows. Дополнительные сведения о загрузочных приложениях см. в разделе "О BCD".

CONSOLE
Приложение в режиме символов Win32. Операционная система предоставляет консоль для консольных приложений. Если main или wmain определяется для машинного кода, int main(array<String ^> ^) определяется для управляемого кода или вы полностью создаете приложение с помощью /clr:safeконсоли по умолчанию.

EFI_APPLICATION
EFI_BOOT_SERVICE_DRIVER
EFI_ROM
EFI_RUNTIME_DRIVER
Подсистемы расширяемого интерфейса встроенного ПО. Дополнительные сведения см. в спецификации UEFI. Примеры см. в ресурсах драйвера Intel UEFI и средств приложений. Минимальная версия и версия по умолчанию — 1.0.

NATIVE
Драйверы режима ядра для Windows NT. Обычно этот параметр зарезервирован для системных компонентов Windows. Если /DRIVER:WDM задано, NATIVE используется значение по умолчанию.

POSIX
Приложение, работающее с подсистемой POSIX в Windows NT.

WINDOWS
Приложению не требуется консоль, вероятно, потому что она создает собственные окна для взаимодействия с пользователем. Если WinMain код wWinMain или определен для машинного кода или WinMain(HINSTANCE *, HINSTANCE *, char *, int)wWinMain(HINSTANCE *, HINSTANCE *, wchar_t *, int) определен для управляемого кода, WINDOWS используется по умолчанию.

major и minor
(Необязательно) Укажите минимальную требуемую версию подсистемы. Аргументы являются десятичными числами в диапазоне от 0 до 65 535. Для номеров версий нет верхних границ.

Замечания

Параметр /SUBSYSTEM задает среду для исполняемого файла.

Выбор подсистемы влияет на символ точки входа (или функцию точки входа), выбранной компоновщиком.

Необязательные минимальные и номера версий по умолчанию majorminor для подсистем приведены следующим образом:

Подсистема Минимум По умолчанию
BOOT_APPLICATION 1.0 1.0
CONSOLE 5.01 (x86) 5.02 (x64) 6.02 (ARM) 6.00 (x86, x64) 6.02 (ARM)
WINDOWS 5.01 (x86) 5.02 (x64) 6.02 (ARM) 6.00 (x86, x64) 6.02 (ARM)
NATIVE/DRIVER:WDM) 1.00 (x86) 1.10 (x64, ARM) 1.00 (x86) 1.10 (x64, ARM)
NATIVE (без /DRIVER:WDM) 4.00 (x86) 5.02 (x64) 6.02 (ARM) 4.00 (x86) 5.02 (x64) 6.02 (ARM)
POSIX 1.0 19.90
EFI_APPLICATION, EFI_BOOT_SERVICE_DRIVER, EFI_ROM, EFI_RUNTIME_DRIVER 1.0 1.0

Задание данного параметра компоновщика в среде разработки Visual Studio

  1. Откройте диалоговое окно Страницы свойств проекта. Подробнее см. в статье Настройка компилятора C++ и свойства сборки в Visual Studio.

  2. Перейдите на страницу свойств Свойства конфигурации>Компоновщик>Система.

  3. Измените свойство SubSystem .

Задание данного параметра компоновщика программным способом

См. также

Справочник по компоновщику MSVC
Параметры компоновщика MSVC