/SUBSYSTEM(指定子系统)

/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 字符模式应用程序。 操作系统为各种控制台应用程序提供控制台。 如果为本机代码定义了 mainwmain,为托管代码定义了 int main(array<String ^> ^),或者完全使用 /clr:safe 构建应用程序,则 CONSOLE 是默认值。

  • 可扩展固件接口
    EFI_* 子系统。 有关更多信息,请参见 EFI 规范。 例如,请参见 Intel 网站。 最低和默认版本都是 1.0。

  • NATIVE
    Windows NT 内核模式驱动程序。 此选项通常是为 Windows 系统组件保留的。 如果指定 /DRIVER:WDM,则 NATIVE 为默认值。

  • POSIX
    与 Windows NT 中的 POSIX 子系统一起运行的应用程序。

  • WINDOWS
    应用程序不需要控制台,原因很可能是它会创建自己的窗口来与用户进行交互。 如果为本机代码定义了 WinMainwWinMain,或为托管代码定义了 WinMain(HISTANCE *, HINSTANCE *, char *, int)wWinMain(HINSTANCE *, HINSTANCE *, wchar_t *, int),则 WINDOWS 是默认值。

  • Major 和 minor(可选)
    指定所需的子系统的最低版本。 参数是介于 0 至 65,535 范围内的十进制数。 有关更多信息,请参见"备注"。 版本号没有上限。

备注

/SUBSYSTEM 选项为可执行文件指定环境。

子系统的选择会影响链接器将选择的入口点符号(即入口点函数)。

子系统的可选最低与默认 major 和 minor 版本号如下。

Subsystem

最低

默认

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 (without /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 开发环境中设置此链接器选项

  1. 打开项目的**“属性页”**对话框。 有关详细信息,请参见设置 Visual C++ 项目属性

  2. 选择 Linker 文件夹。

  3. 选择“系统”属性页。

  4. 修改 SubSystem 属性。

以编程方式设置此链接器选项

请参见

参考

设置链接器选项

链接器选项