/SUBSYSTEM (especificar subsistema)

Especifique o subsistema Windows direcionado pelo executável.

Sintaxe

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

Argumentos

BOOT_APPLICATION
Um aplicativo que é executado no ambiente de inicialização do Windows. Para obter mais informações sobre aplicativos de inicialização, consulte Sobre BCD.

CONSOLE
Aplicativo de modo de caracteres Win32. O sistema operacional fornece um console para aplicativos de console. Se main ou wmain for definido para código nativo, int main(array<String ^> ^) será definido para código gerenciado, ou você compilará o aplicativo completamente usando /clr:safe, CONSOLE será o padrão.

EFI_APPLICATION
EFI_BOOT_SERVICE_DRIVER
EFI_ROM
EFI_RUNTIME_DRIVER
Os subsistemas Extensible Firmware Interface. Para obter mais informações, consulte a especificação UEFI. Para obter exemplos, consulte os Recursos do Driver UEFI e da ferramenta de aplicativo da Intel. A versão mínima e a versão padrão é 1.0.

NATIVE
Drivers de modo kernel para Windows NT. Essa opção normalmente é reservada para componentes de sistema do Windows. Se /DRIVER:WDM for especificado, NATIVE será o padrão.

POSIX
Aplicativo que executa com o subsistema POSIX em Windows NT.

WINDOWS
A aplicação não necessita de console, provavelmente porque cria as próprias janelas para interação com o usuário. Se WinMain ou wWinMain for definido para código nativo ou WinMain(HINSTANCE *, HINSTANCE *, char *, int) ou wWinMain(HINSTANCE *, HINSTANCE *, wchar_t *, int) definido para código gerenciado, WINDOWS será o padrão.

major e minor
(Opcional) Especifique a versão mínima necessária do subsistema. Os argumentos são números decimais no intervalo de 0 a 65.535. Não há limites superiores para números de versão.

Comentários

A opção /SUBSYSTEM especifica o ambiente para o executável.

A escolha do subsistema afetará o símbolo do ponto de entrada (ou a função do ponto de entrada) que o vinculador selecionará.

Os números de versão major e minor opcionais mínimos e o padrão para os subsistemas são os seguintes:

Subsistema Mínimo Padrão
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 (com /DRIVER:WDM) 1.00 (x86) 1.10 (x64, ARM) 1.00 (x86) 1.10 (x64, ARM)
NATIVE (sem /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

Para definir esta opção do vinculador no ambiente de desenvolvimento do Visual Studio

  1. Abra a caixa de diálogo Páginas de Propriedades do projeto. Para obter detalhes, confira Definir as propriedades de build e do compilador do C++ no Visual Studio.

  2. Selecione a página de propriedades Propriedades da Configuração>Vinculador>Sistema.

  3. Modifique a propriedade SubSystem.

Para definir esta opção do vinculador por meio de programação

Confira também

Referência de vinculador MSVC
Opções do vinculador MSVC