当我运行c ++程序时,我不希望控制台出现

Lok*_*r S 14 c++ windows

我想写一个c ++程序,编译和链接.cpp给出.exe文件.如果我双击并执行它,控制台将被打开和关闭.我不希望该控制台出现.请帮忙.

Che*_*Alf 19

Windows程序有两种生成控制台窗口的方法:

  • 该程序作为控制台子系统exe链接,这是对Windows始终提供关联控制台窗口的请求.

  • 程序的代码本身创建了一个控制台窗口.

第一个选项,控制台子系统,是最有可能的.

使用MinGW g ++编译器只需添加选项

-mwindows
Run Code Online (Sandbox Code Playgroud)

使用Visual C++编译器,如果要从命令行进行编译,请添加选项

/link /subsystem:windows /entry:mainCRTStartup
Run Code Online (Sandbox Code Playgroud)

如果您使用的是Visual Studio,请将子系统更改为Windows mainCRTStartup,并将链接选项中的入口点更改为.

使用Microsoft的编译器,可以更容易地链接到包含WinMain本身是非标准启动函数的函数的模块,并且违反C++标准调用普通标准main.这是因为使用GUI子系统(子系统"windows")微软的编译器,而不是像g ++,默认情况下不识别标准main.它只是一个微软的东西(大概是它开始作为供应商锁定的东西).


rav*_*int 7

如果您想创建带有隐藏控制台的控制台类型程序,请将其作为主例程的第一行:

ShowWindow( GetConsoleWindow(), SW_HIDE );
Run Code Online (Sandbox Code Playgroud)

  • 7年后,你减轻了我生活中的一点压力。 (4认同)

Jos*_*ley 2

听起来您需要更新 Windows Visual Studio 项目设置,使其不再是控制台应用程序。

如果不是这种情况,请发布有关您的环境和工具的更多信息。