/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 開発環境でこのリンカー オプションを設定するには
プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。詳細については、「Visual C++ プロジェクトのプロパティの設定」を参照してください。
[リンカー] フォルダーをクリックします。
[システム] プロパティ ページをクリックします。
SubSystem プロパティを変更します。
このリンカーをコードから設定するには
- SubSystem を参照してください。