/subsystem:windows 与 /subsystem:console

转载 2017年01月03日 14:05:10

  操作系统装载应用程序后,做完初始化工作就转到程序的入口点执行。程序的默认入口点实际上是由连接程序设置的,不同的连接器选择的入口函数也不尽相同。在VC++下,连接器对控制台程序设置的入口函数是 mainCRTStartup,mainCRTStartup 再调用你自己编写的 main 函数;对图形用户界面(GUI)程序设置的入口函数是 WinMainCRTStartup,WinMainCRTStartup 调用你自己写的 WinMain 函数。而具体设置哪个入口点是由连接器的“/subsystem:”选项参数确定的,它告诉操作系统如何运行编译生成的.EXE文件。可以指定四种方式:“CONSOLE|WINDOWS|NATIVE|POSIX”如果这个选项参数的值为“WINDOWS”,则表示该应用程序运行时不需要控制台,有关连接器参数选项的详细说明请参考 MSDN 库。 

以下四种组合,可以实现console和windows模式的混合,可以达到不弹出DOS窗口的效果,也可以达到在Windows程序中向控制台输出printf信息了。
#pragma comment( linker, "/subsystem:windows /entry:WinMainCRTStartup" )
#pragma comment( linker, "/subsystem:windows /entry:mainCRTStartup" )

#pragma comment( linker, "/subsystem:console /entry:mainCRTStartup" )
#pragma comment( linker, "/subsystem:console /entry:WinMainCRTStartup" )

相关文章推荐

/subsystem:windows 与 /subsystem:console

操作系统装载应用程序后,做完初始化工作就转到程序的入口点执行。程序的默认入口点实际上是由连接程序设置的,不同的连接器选择的入口函数也不尽相 同。   在VC++下, 连接器对控制台程...
  • wjeson
  • wjeson
  • 2012年02月10日 10:22
  • 3936

屏蔽控制台应用程序的窗口#pragma comment(linker, "/subsystem:windows /ENTRY:mainCRTStartup")

众所周知,控制台应用程序一般都会显示一个控制台窗口(虚拟DOS窗口),但很多时候控制台程序的执行逻辑根本不需要与用户进行交互,所以显示这个难看的窗口纯属多余,那么如何将它屏蔽掉呢?下面我向大家介绍一种...

安装Windows 10 Subsystem for Linux

官方指南:https://msdn.microsoft.com/zh-cn/commandline/wsl/install_guide 1、要求PC电脑至少运行64位Windows10 周年更新,推...
  • yyzh999
  • yyzh999
  • 2017年06月03日 22:54
  • 1513

看到同事写的程序,#pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" ) 所理解的

摘自:http://www.vckbase.com/bbs/prime/viewprime.asp?id=581, 如有侵权,请及时告知。 众所周知,控制台应用程序一般都会显示一个控制台...

WSL(Windows Subsystem for Linux, Bash On Windows)使用笔记

ubuntu子系统是从windows应用商店下载的,由于网络等诸多原因可能无法顺利下载。此时解决的思路是,下载离线的安装包trusty-server-cloudimg-amd64-root.tar.g...

The Xen Hypervisor and its IO Subsystem

  • 2007年05月23日 14:30
  • 471KB
  • 下载

DSP-Subsystem

  • 2008年03月17日 14:58
  • 157KB
  • 下载

[mmc subsystem] mmc core(第二章)——数据结构和宏定义说明

一、host相关1、struct mmc_hoststruct mmc_host是mmc core由host controller抽象出来的结构体,用于代表一个mmc host控制器。 * 数据结构...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:/subsystem:windows 与 /subsystem:console
举报原因:
原因补充:

(最多只允许输入30个字)