我遇到了一個C++程序的問題,當我運行.exe程序會運行,並且我的程序窗口會打開,但控制檯會在後臺桌面上打開。我做了谷歌搜索,發現用-mwindows命令作爲參數編譯,刪除了控制檯。它做了什麼。但我不確定它究竟做了什麼,我很好奇。在MinGW編譯器中,什麼是-mwindows命令,它有什麼作用?
3
A
回答
4
它說你的應用程序是使用不需要控制檯窗口的Win32 API的應用程序。在編寫Windows GUI應用程序,DLL等時使用此選項,但在調試這些類型的應用程序時,控制檯窗口可以有用。即使使用此選項,您也可以顯式創建控制檯窗口,如果您的應用程序需要一個動態的窗口,則可以從控制檯應用程序調用Win32 GUI API。
3
它的行爲與the /subsystem:windows
switch described on MSDN完全相同。
基本上,它設置的入口點WinMain
(或wWinMain
),而不是main
(或wmain
),這導致沒有控制檯窗口並運行後創建傳遞給WinMain
參數一些Win32的啓動代碼。正如尼爾所說,它不會阻止或啓用任何你離不開的東西。
類似的開關是-municode
到main
/WinMain
和wmain
/wWinMain
,這不是由Microsoft工具反映了之間切換。這些似乎自動選擇你使用的)。
相關問題
- 1. 什麼是命令行編譯器?
- 2. 爲什麼這個C++代碼編譯?它有什麼作用?
- 3. 爲什麼不在VS Express 2013中編譯,儘管它在MinGW中編譯?
- 4. 什麼是「argv」,它有什麼作用?
- 5. 什麼是Thread.CurrentPrincipal,它有什麼作用?
- 6. 爲什麼編譯器不能捕獲這個函數,它有什麼作用?
- 7. 什麼是Fortran編譯器?
- 8. 爲什麼在編譯使用MinGW不工作
- 9. 什麼是VB6 IDE(編譯器)的命令行選項
- 10. GWT編譯器:什麼時候編譯錯誤是致命的?
- 11. 什麼是最流行的編譯器,MSVS有什麼不好?
- 12. 什麼是在ansible命令
- 13. 爲什麼在Code :: Blocks中不能用mingw編譯?
- 14. Linux命令,它們是什麼意思?
- 15. 在一個命令中編譯/鏈接和在單獨的命令中編譯/鏈接有什麼區別?
- 16. 'export'命令有什麼作用?
- 17. linux make命令有什麼作用?
- 18. flush命令有什麼作用?
- 19. hdfs dfs -getmerge命令有什麼作用?
- 20. 在編譯方面什麼是「機器」?
- 21. -fPIC編譯標誌有什麼作用?
- 22. Javascript「窗口」:它的目的是什麼?它有什麼作用?
- 23. NEXTGEN編譯器有什麼用處?
- 24. = +是什麼意思?它爲什麼編譯?
- 25. 這段代碼是做什麼的,它爲什麼編譯?
- 26. 這個表達式是什麼意思,它爲什麼編譯?
- 27. 什麼是newproxy,它有什麼用處?
- 28. 什麼是java中的對象,它有什麼作用
- 29. LEAL彙編指令有什麼作用?
- 30. 它在Swift中編譯...但它是什麼?