欢迎来到天天文库
浏览记录
ID:1322718
大小:254.00 KB
页数:7页
时间:2017-11-10
《opencv隐藏console窗口》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、晨宇思远的C博客OpenCV学习笔记(2)隐藏Console窗口在VC++中使用OpenCV,一般是建立一个win32consoleapplication项目,当运行此类程序的时候,默认情况下会有一个类似DOS窗口的console窗口,供程序与用户之间交互之用。 但是有时候我们只想在程序中运行一段功能代码,不希望显示这个console窗口,而是让代码执行完毕之后程序自动退出。隐藏这种win32consoleapplication的console窗口,主要有两种方式:1、通过#pragma指令来修改,即在m
2、ain函数前添加以下一行代码: 正确的#pragma comment( linker, "/subsystem:"windows" /entry:"mainCRTStartup"" ) 错误的#pragmacomment(linker,"/subsystem:/"windows/"/entry:/"mainCRTStartup/"")2、通过设置项目属性来修改,即在Project–>Properties->ConfigurationProperties–>Linker->System的Sub
3、system项中,将Console(/SUBSYSTEM:CONSOLE)修改为Console(/SUBSYSTEM:WINDOWS),这样就把控制台程序窗口隐去了。上述方法是通过设置编译器的链接开关来实现的,所以让我们来看一下编译器的链接开关选项(也就是linker选项)。一、linker的/subsystem选项:该选项的语法形式如下: /SUBSYSTEM:{CONSOLE
4、EFI_APPLICATION
5、EFI_BOOT_SERVICE_DRIVER
6、 EFI_RO
7、M
8、EFI_RUNTIME_DRIVER
9、NATIVE
10、POSIX
11、WINDOWS
12、WINDOWSCE} [,major[.minor]] 这个链接选项告诉操作系统如何运行可执行文件。——CONSOLE: win32字符模式应用程序,此种类型的应用程序在运行的时候会产生一个类似DOS窗口的控制台窗口。如果在应用程序的主函数为main()或者wmain(),在默认情况下该应用程序就是一个控制台应用程序。——ExtensibleFirmwareInterface(EFI_***): 这4种EFI
13、_***是和CPU具体架构相关的参数选项,并不常用,有兴趣的可以访问intel主页来查看相关内容。——NATIVE: 设备驱动器选项,如果/DRIVER:WDM选项被设定的话,该链接选项(NATIVE)就为默认选项。——POSIX: 在windowsNT种运行在POSIX子系统上的应用程序。——WINDOWS: 该类型的应用程序不产生console窗口,程序窗口由用户自己创建,简而言之就是一个标准的Win32application,其入口地址为WinMain()函数或者wWinMain()函数的地址。如果
14、你在应用程序中定义的主函数为WinMain或者wWinMain,在默认情况下该应用程序就是一个Win32Application!——WINDOWSCE: 运行在windowsCE上的应用程序。——majorandminor(optional): 主版本号和次版本号,该选项为可选,该选项为0~65535之间的十进制整数。 从上面可以看出,如果我们建立一个win32consoleapplication的话,linker的/subsystem选项应该为CONSOLE,可以在VC6开发环境的project->se
15、tting->link->projectoption或者VS2005/2008开发环境的Project–>Properties->ConfigurationProperties–>Linker->System中看到!二、应用程序是如何运行的! 我们知道用VC编写的程序,运行的时候是需要C/C++运行库支持的。当我们运行一个C/C++程序的时候,链接器会首先寻找应用程序的启动函数,例如: 如果你建立了一个console程序的话,编译器的链接开关会是以下这种形式: /subsystem:"con
16、sole"/entry:"mainCRTStartup"(ANSI) /subsystem:"console"/entry:"wmainCRTStartuup"(UNICODE) 如果你建立了一个win32application,编译器的链接开关则会是以下形式: /subsystem:"windows"/entry:"WinMain"(ANSI) /sbusystem:"windows
此文档下载收益归作者所有