/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 문자 모드 애플리케이션. 운영 체제는 콘솔 애플리케이션에 콘솔을 제공합니다. 네이티브 코드 int main(array<String ^> ^) 에 대해 정의되거나wmain, 관리 코드에 대해 정의되거나, 애플리케이션을 완전히 사용하여 /clr:safe빌드하는 경우 main CONSOLE이 기본값입니다.

EFI_APPLICATION
EFI_BOOT_SERVICE_DRIVER
EFI_ROM
EFI_RUNTIME_DRIVER
확장 가능한 펌웨어 인터페이스 하위 시스템입니다. 자세한 내용은 UEFI 사양을 참조하세요. 예제는 Intel UEFI 드라이버 및 애플리케이션 도구 리소스를 참조하세요. 최소 버전 및 기본 버전은 1.0입니다.

NATIVE
Windows NT용 커널 모드 드라이버입니다. 이 옵션은 일반적으로 Windows 시스템 구성 요소용으로 예약됩니다. /DRIVER:WDM을 지정한 경우 NATIVE는 기본값입니다.

POSIX
Windows NT에서 POSIX 하위 시스템을 사용하여 실행되는 애플리케이션입니다.

WINDOWS
애플리케이션은 사용자와의 상호 작용을 위해 자체 창을 만들기 때문에 콘솔이 필요하지 않습니다. 네이티브 코드에 대해 정의되거나 wWinMain(HINSTANCE *, HINSTANCE *, wchar_t *, int) wWinMain WinMain(HINSTANCE *, HINSTANCE *, char *, int) 관리 코드 WINDOWS 에 대해 정의된 경우 WinMain 기본값입니다.

majorminor
(선택 사항) 하위 시스템의 최소 필수 버전을 지정합니다. 인수는 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 (with /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_ROMEFI_RUNTIME_DRIVER 1.0 1.0

Visual Studio 개발 환경에서 이 링커 옵션을 설정하려면

  1. 프로젝트의 속성 페이지 대화 상자를 엽니다. 자세한 내용은 Visual Studio에서 C++ 컴파일러 및 빌드 속성 설정을 참조하세요.

  2. 구성 속성>링커>시스템 속성 페이지를 선택합니다.

  3. SubSystem 속성을 수정합니다.

프로그래밍 방식으로 이 링커 옵션을 설정하려면

참고 항목

MSVC 링커 참조
MSVC 링커 옵션