OpenGL学习笔记:Console工程下如何不显示控制台黑窗口只显示Windows窗口

刚学习OpenGL,绘制图形的时候,如果不进行设置,运行的时候会先出现黑窗口再出现Windows窗口。

其实要去除控制台窗口非常简单,只需要修改工程设置,把子系统改成Windows,程序的入口点改成mainCRTStartup。

下面我先把几中解决办法列举出来,再解释下我的理解。

方法一:在程序中加入一句#pragma comment(linker, “/subsystem:\”windows\”  /entry:\”mainCRTStartup\””),建议加在include的后面。(注意不要少了空格)

方法二:修改工程设置。

对于vc6,地方在Project->setting->Link->Project Options。

点开后的界面如图,

在右下角的Project Options里面找到/subsytem:,并把其后面其后面的参数改成为windows,然后再找到/entry:,把其后面的值改成”mainCRTStartup”,如果找不到就添加,最后的效果是/subsystem:windows /entry:”mainCRTStartup”。

对于vs2008,地方在项目->属性->链接器,

然后在左边选中高级,如图所示,

在最上面的入口点输入mainCRTStartup,再选中系统,如图所示,

在最上面的子系统选择Windows即可了。

为什么这样设置下就可以了了。主要是因为Windows系统下有几种子系统,一种是控制台,一种是窗口子系统,如果建立了控制台工程肯定是要创建控制台子系统程序了,建立了Windows Application和MFC之类的工程则是窗口子系统了。不同的子系统会链接不同的主函数,控制台的会链接main,窗口的会链接WinMain,如果不匹配肯定会链接失败。

现在我们使用OpenGL编程,又建立的是控制台工程,如果不进行设置肯定会出现黑窗口的,所以我们把工程的子系统改成Windows,但是我们不想改主函数为WinMain了,因为这样会很麻烦,所以我们再把程序入口改成mainCRTStartup。同样如果是win32 App工程下,我们可以把子系统改成控制台,再设置程序入口为WinMainCRTStartup,应该就会得到相反的效果了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Hadoop实操

如何在RedHat7上使用Bind搭建DNS服务

搭建私有的DNS服务的方式有多种,如Window Server、Dnsmasq、BIND等,前面Fayson介绍了《如何利用Dnsmasq构建小型集群的本地DN...

4414
来自专栏HadesMo

体验小程序SDK(cos-wx-sdk-v5)续

cos-wx-sdk-v5链接:https://github.com/tencentyun/cos-wx-sdk-v5

900
来自专栏Aloys的开发之路

解决adb push时出现的"Read-only file system"问题

出现Read-only file system问题,不是因为文件或者文件夹的权限不对,而是要push的目录对应的分区是以只读方式挂载的,网上给出的解决办法是重新...

2669
来自专栏HadesMo

体验小程序SDK(cos-wx-sdk-v5)

cos-wx-sdk-v5链接:https://github.com/tencentyun/cos-wx-sdk-v5

2050
来自专栏深度学习之tensorflow实战篇

python 安装spark_Spark环境搭建 (Python)

安装lib 材料: spark : http://spark.apache.org/downloads.html hadoop : http://hadoop...

3627
来自专栏云计算教程系列

如何在Ubuntu 16.04上安装MongoDB

MongoDB是一个免费的开源NoSQL文档数据库,在现代Web应用程序中常用。本教程将帮助您在服务器上为生产应用程序环境设置MongoDB。

760
来自专栏全栈架构

Centos7离线安装Cloudera Manager 5.14.1

如果是新手,请严格按照步骤来做。当然还有其他安装方式,这里讲的方式比较适合测试使用。

1401
来自专栏应用案例

Nginx+Tomcat 配置负载均衡集群

目的: 同一个项目部署到多个tomcat中,共用80端口。停掉其中任何一个(只要服务有一个在运行),都不会影响用户的使用。 一、项目准备 准备Java项目测试包...

19810
来自专栏知识分享

轻松使用ESP8266

自己做了一个轻松配置8266的板子,配合上位机很方便的就配置好8266的各种模式,上电自动运行上次配置的模式 而且多加了四路模拟量采集,5路IO口输出,,其中前...

3045
来自专栏我和未来有约会

Windows 7 旗舰版 VHD安装体验

indows 7 旗舰版 VHD安装体验 近日为了将开发环境、测试环境互相分离来,体验了一下“特殊的虚拟机 VHD启动”,我现在的机器(IBM X200)上安装...

2296

扫码关注云+社区