如何防止在Windows中执行自动打开控制台?

时间:2016-09-21 12:32:06

标签: windows console

前提:我对Windows编程非常陌生。

到目前为止,我编译的每个小程序,在执行时(......从GUI双击)会自动打开一个控制台,提示输出std。

这是一个屏幕截图,显示了this example

的执行情况

enter image description here

正如您所看到的,在程序创建的窗口后面有一个控制台。

为什么会发生这种情况以及如何预防?

1 个答案:

答案 0 :(得分:2)

Windows程序有两个子系统:Windows或控制台。启动控制台程序时,会自动创建一个控制台(如果它尚不存在)。由于控制台是默认设置,因此在构建程序时必须设置适当的链接器选项/SUBSYSTEM:WINDOWS

两个子系统之间没有根本区别。 Windows程序可以创建一个控制台,控制台程序可以创建窗口,因此您最终会得到一个窗口和一个控制台。

有更多子系统,但它们与您的问题无关。有关更多信息,请参阅https://msdn.microsoft.com/en-us/library/fcc1zstk.aspx(还包含有关在Visual Studio中设置链接器选项的信息)