更新: 2008 年 7 月
/SUBSYSTEM:{BOOT_APPLICATION|CONSOLE|EFI_APPLICATION|
            EFI_BOOT_SERVICE_DRIVER|EFI_ROM|EFI_RUNTIME_DRIVER|NATIVE|
            POSIX|WINDOWS|WINDOWSCE)
            [,major[.minor]]
- BOOT_APPLICATION 
 运行 Windows 启动环境的应用程序。有关启动应用程序的更多信息,请参见关于 BCD。
- CONSOLE 
 Win32 字符模式应用程序。操作系统为各种控制台应用程序提供控制台。如果为本机代码定义了 main 或 wmain,为托管代码定义了 int main(array<String ^> ^),或者完全使用 /clr:safe 构建应用程序,则 CONSOLE 是默认值。
- 可扩展固件接口 
 EFI_* 子系统。有关更多信息,请参见 EFI 规范。例如,请参见 Intel 网站。最低和默认版本都是 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 是默认值。
- WINDOWSCE 
 在 Windows CE 设备上运行的应用程序。
- Major 和 minor(可选) 
 指定子系统的要求的最低版本。参数为 0 到 65,535 之间的十进制数。有关更多信息,请参见“备注”。版本号没有上限。
备注
/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 (with DRIVER:WDM) | 1.00 (x86) 1.10 (Itanium) 1.10 (x64) | 1.00 (x86) 1.10 (Itanium) 1.10 (x64) | 
| NATIVE (without /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 | 
| WINDOWSCE | 4.02 | 5.0 | 
| EFI_APPLICATION、EFI_BOOT_SERVICE_DRIVER、EFI_ROM, EFI_RUNTIME_DRIVER | 1.0 | 1.0 | 
在 Visual Studio 开发环境中设置此链接器选项
- 打开该项目的“属性页”对话框。有关详细信息,请参见设置 Visual C++ 项目属性。 
- 单击“链接器”文件夹。 
- 单击“系统”属性页。 
- 修改 SubSystem 属性。 
以编程方式设置此链接器选项
- 请参见 SubSystem。
请参见
参考
修订记录
| 日期 | 历史记录 | 原因 | 
|---|---|---|
| 2008 年 7 月 | 已增加 BOOT_APPLICATION 选项并更新了最低和默认版本。 | 内容 Bug 修复 |