我想写一个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.它只是一个微软的东西(大概是它开始作为供应商锁定的东西).
如果您想创建带有隐藏控制台的控制台类型程序,请将其作为主例程的第一行:
ShowWindow( GetConsoleWindow(), SW_HIDE );
Run Code Online (Sandbox Code Playgroud)