OpenGL學習筆記:Console工程下如何不顯示控制台黑視窗只顯示Windows視窗

來源:互聯網
上載者:User

標籤:

剛學習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,應該就會得到相反的效果了。

OpenGL學習筆記:Console工程下如何不顯示控制台黑視窗只顯示Windows視窗

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.