Visual Studio GUI应用程序_弹出控制台窗口/命令行窗口/dos窗口问题解决

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-23 05:31   15   0

目录

问题描述:

程序装载原理

如何设置程序入口点?

解决方法:

方法1:

方法2:


问题描述:

启动GUI应用程序,但是每次都启动dos窗口,dos窗口也可以叫做控制台、命令行窗口。

终极目标:启动GUI应用程序时,不要显示dos窗口/控制台窗口/命令行窗口。

程序装载原理

操作系统首先装载应用程序,然后初始化,最后转入到程序入口点执行。

程序的的默认入口点,由连接程序设置。

1.连接程序设置控制台程序入口函数是mianCRTStartup,mainCRStartup调用main.cpp中入口函数默认为mian()函数,也可以通过命令修改:

// 通过下面这句话将入口函数改成fn. 
#pragma comment(linker, "/entry:fn") 

2. 连接程序对图形用户界面GUI程序设置的入口函数是WinMainCRTStartup,WinMainCRTStartup调用自己写的入口函数,就是main.cpp中的main()函数,或者其他设置的入口函数。

如何设置程序入口点?

具体设置那个入口点,有连接器的“/subsystem:"选项参数确定,”/subsystem:"告诉操作系统如何编译生成.exe文件。

/subsystem有四个选项:“CONSOLE|WINDOWS|NATIVE|POSIX"

WINDOS:则表示应用程序运行时不需要控制台。

解决方法:

方法1:

工程右键-【属性】-》【配置属性】-》【系统】-》【子系统】,设置为“Windows(/SUBSYSTEM:WINDOWS)。

方法2:

在main.cpp代码中插入代码:

#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP