/SUBSYSTEM (サブシステムの指定)

/SUBSYSTEM:{BOOT_APPLICATION|CONSOLE|EFI_APPLICATION|
            EFI_BOOT_SERVICE_DRIVER|EFI_ROM|EFI_RUNTIME_DRIVER|NATIVE|
            POSIX|WINDOWS)
            [,major[.minor]]
  • BOOT_APPLICATION
    Windows のブート環境で実行するアプリケーションです。ブート アプリケーションの詳細については、「About BCD」を参照してください。

  • CONSOLE
    Win32 文字モード アプリケーションに対して使用します。オペレーティング システムには、コンソール アプリケーションのコンソールが用意されています。ネイティブ コードに main または wmain が定義されている場合、マネージ コードに int main(array<String ^> ^) が定義されている場合、または /clr:safe を使用してアプリケーションを完全にビルドする場合、CONSOLE が既定の設定になります。

  • 拡張可能なファームウェア インターフェイス
    EFI_* サブシステムです。詳細については、EFI の仕様を参照してください。たとえば、Intel の Web サイトなどを参照してください。最小および既定のバージョンは 1.0 です。

  • NATIVE
    Windows NT 用のカーネル モード ドライバーです。このオプションは、通常、Windows システム コンポーネントのために予約されています。/DRIVER:WDM が指定されている場合、既定値は NATIVE です。

  • POSIX
    Windows NT 上の POSIX サブシステムで実行するアプリケーションです。

  • WINDOWS
    アプリケーションにはコンソールは不要です。このシステムにはユーザーとの対話用のウィンドウが作成されるからです。ネイティブ コードに WinMain または wWinMain が定義されている場合、あるいはマネージ コードに WinMain(HISTANCE *, HINSTANCE *, char *, int) または wWinMain(HINSTANCE *, HINSTANCE *, wchar_t *, int) が定義されている場合、WINDOWS が既定の設定になります。

  • Major および minor (省略可能)
    サブシステムに必要な最小限のバージョンを指定します。引数には、0 ~ 65535 の範囲の 10 進数を指定します。詳細については、「解説」を参照してください。バージョン番号に上限はありません。

解説

/SUBSYSTEM オプションは、実行可能ファイルの環境を指定します。

サブシステムの選択によって、リンカーが選択するエントリ ポイント シンボル (またはエントリ ポイント関数) が決まります。

サブシステムに必要な最小限の既定の major および minor のバージョン番号は以下のとおりです。

サブシステム

最小要件

既定値

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 (DRIVER:WDM を使用する場合)

1.00 (x86)、1.10 (Itanium)、1.10 (x64)

1.00 (x86)、1.10 (Itanium)、1.10 (x64)

NATIVE (/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

EFI_APPLICATION、EFI_BOOT_SERVICE_DRIVER、EFI_ROM、EFI_RUNTIME_DRIVER

1.0

1.0

Visual Studio 開発環境でこのリンカー オプションを設定するには

  1. プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。詳細については、「Visual C++ プロジェクトのプロパティの設定」を参照してください。

  2. [リンカー] フォルダーをクリックします。

  3. [システム] プロパティ ページをクリックします。

  4. SubSystem プロパティを変更します。

このリンカーをコードから設定するには

参照

関連項目

リンカー オプションの設定

リンカー オプション