• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 224  文章 - 41  trackbacks - 0
            <2011年5月>
            24252627282930
            1234567
            891011121314
            15161718192021
            22232425262728
            2930311234

            享受編程

            常用鏈接

            留言簿(11)

            隨筆分類(159)

            隨筆檔案(224)

            文章分類(2)

            文章檔案(4)

            經(jīng)典c++博客

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            原文地址:http://www.vckbase.com/bbs/prime/viewprime.asp?id=581
                   
                    眾所周知,控制臺(tái)應(yīng)用程序一般都會(huì)顯示一個(gè)控制臺(tái)窗口(虛擬DOS窗口),但很多時(shí)候控制臺(tái)程序的執(zhí)行邏輯根本不需要與用戶進(jìn)行交互,所以顯示這個(gè)難看的窗口純屬多余,那么如何將它屏蔽掉呢?下面我向大家介紹一種方法。

              操作系統(tǒng)裝載應(yīng)用程序后,做完初始化工作就轉(zhuǎn)到程序的入口點(diǎn)執(zhí)行。程序的默認(rèn)入口點(diǎn)實(shí)際上是由連接程序設(shè)置的,不同的連接器選擇的入口函數(shù)也不盡相同。在VC下,連接器對(duì)控制臺(tái)程序設(shè)置的入口函數(shù)是 mainCRTStartup,mainCRTStartup 再調(diào)用你自己編寫的 main 函數(shù);對(duì)圖形用戶界面(GUI)程序設(shè)置的入口函數(shù)是 WinMainCRTStartup,WinMainCRTStartup 調(diào)用你自己寫的 WinMain 函數(shù)。

                    具體設(shè)置哪個(gè)入口點(diǎn)是由連接器的“/subsystem:”選項(xiàng)參數(shù)確定的,它告訴操作系統(tǒng)如何運(yùn)行編譯生成的.EXE文件。可以指定四種方式:“CONSOLE|WINDOWS|NATIVE|POSIX”如果這個(gè)選項(xiàng)參數(shù)的值“WINDOWS”,則表示該應(yīng)用程序運(yùn)行時(shí)不需要控制臺(tái),有關(guān)連接器參數(shù)選項(xiàng)的詳細(xì)說明請(qǐng)參考 MSDN 庫。

                  下面我們將通過預(yù)編譯指令來對(duì)編譯器和連接器進(jìn)行設(shè)置,從而達(dá)到我們的目的:例子代碼運(yùn)行后播放Windows系統(tǒng)啟動(dòng)聲音三次,然后退出,運(yùn)行后不會(huì)顯示控制臺(tái)窗口。

            #include "stdafx.h"

            #include <windows.h>
            #include <mmsystem.h>

            #pragma comment(lib,"winmm.lib") // 告訴連接器與這個(gè)庫連接,因?yàn)槲覀円シ哦嗝襟w聲音
            #pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )  // 設(shè)置連接器選項(xiàng)

            int main(int argc, char* argv[])
            {
                PlaySound("SystemStart",NULL, SND_ALIAS|SND_SYNC);
                Sleep(50);
                PlaySound("SystemStart",NULL, SND_ALIAS|SND_SYNC);
                Sleep(50);
                PlaySound("SystemStart",NULL, SND_ALIAS|SND_SYNC);
                Sleep(50);
                return 0;
            }
                    很多人都說這個(gè)沒有什么用,但在做OPENGL的時(shí)候,調(diào)試的時(shí)候可以在調(diào)試的時(shí)候讓信息從控制臺(tái)輸出,而調(diào)試好了以后就可以不用控制臺(tái)了!
            posted on 2009-03-20 14:55 漂漂 閱讀(312) 評(píng)論(0)  編輯 收藏 引用

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            久久笫一福利免费导航 | 国产精品丝袜久久久久久不卡| 亚洲国产精品无码久久久秋霞2| 囯产极品美女高潮无套久久久 | 久久国产欧美日韩精品| 色综合合久久天天综合绕视看 | 久久99热只有频精品8| 久久久久99精品成人片| 精品无码久久久久国产动漫3d| 久久不见久久见免费视频7| 国产—久久香蕉国产线看观看| 思思久久99热只有频精品66| 97久久超碰国产精品2021| 亚洲人成网站999久久久综合| 精品久久久久久亚洲精品| 日韩美女18网站久久精品| 久久99精品国产99久久| 99精品久久久久久久婷婷| 狠狠色综合久久久久尤物| 国产国产成人精品久久| 伊人久久大香线蕉AV色婷婷色| 久久综合成人网| 狠狠色丁香婷婷综合久久来来去| 久久久久无码精品国产| 久久天天躁狠狠躁夜夜2020一| 国产91久久综合| 国产精品99久久久久久www| AV色综合久久天堂AV色综合在| 蜜桃麻豆WWW久久囤产精品| 久久国产成人午夜aⅴ影院| 97久久精品人人做人人爽| 国产精品久久亚洲不卡动漫| 国产亚洲色婷婷久久99精品| 国产精品久久久久久吹潮| 69国产成人综合久久精品| 狠狠88综合久久久久综合网| 久久久久国产精品熟女影院 | 久久国产免费观看精品3| 日韩乱码人妻无码中文字幕久久| 久久天天躁狠狠躁夜夜avapp| 精品人妻伦九区久久AAA片69|