LALA  
          日歷
          <2008年10月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          導航

          留言簿(1)

          隨筆分類(31)

          文章分類(4)

          收藏夾(21)

          搜索

          •  

          積分與排名

          • 積分 - 30078
          • 排名 - 1390

          最新隨筆

          最新評論

          閱讀排行榜

           
                 原文地址/subsystem:windows 與 /subsystem:console 

                 操作系統裝載應用程序后,做完初始化工作就轉到程序的入口點執行。程序的默認入口點實際上是由連接程序設置的,不同的連接器選擇的入口函數也不盡相同。在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" )


          int APIENTRY WinMain(HINSTANCE hInstance,
          HINSTANCE hPrevInstance,
          LPSTR     lpCmdLine,
          int       nCmdShow)
          {
               // ... ...
          }

          int main(void)
          {
               // ... ...
          }


          posted on 2008-10-02 23:15 Dest 閱讀(1134) 評論(0)  編輯  收藏 所屬分類: C語言
           
          Copyright © Dest Powered by: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 雷波县| 彝良县| 延边| 安溪县| 颍上县| 康定县| 莱州市| 保德县| 通许县| 永靖县| 鄯善县| 西和县| 高尔夫| 莒南县| 海南省| 同仁县| 宽甸| 尼玛县| 时尚| 重庆市| 肃北| 桃江县| 庆安县| 合水县| 永福县| 怀宁县| 韩城市| 耒阳市| 朝阳市| 金沙县| 临城县| 灵台县| 赤城县| 胶州市| 灵川县| 萨嘎县| 五寨县| 普陀区| 南汇区| 大连市| 徐水县|