/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
を使用してアプリケーションを完全にビルドする場合、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
アプリケーションにはコンソールは不要です。このシステムにはユーザーとの対話用のウィンドウが作成されるからです。 ネイティブ コードに WinMain
または wWinMain
が定義されている場合、あるいはマネージド コードに WinMain(HINSTANCE *, 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.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 開発環境でこのリンカー オプションを設定するには
プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳細については、Visual Studio での C++ コンパイラとビルド プロパティの設定に関する記事を参照してください。
[構成プロパティ]>[リンカー]>[システム] プロパティ ページを選択します。
[サブシステム] プロパティを変更します。
このリンカーをコードから設定するには
- 以下を参照してください。SubSystem