我遇到了一個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. 爲什麼不在VS Express 2013中編譯,儘管它在MinGW中編譯?
- 3. 什麼是Thread.CurrentPrincipal,它有什麼作用?
- 4. 爲什麼編譯器不能捕獲這個函數,它有什麼作用?
- 5. 什麼是Fortran編譯器?
- 6. 爲什麼在編譯使用MinGW不工作
- 7. 什麼是VB6 IDE(編譯器)的命令行選項
- 8. 什麼是-lnuma和什麼程序使用它進行編譯?
- 9. GWT編譯器:什麼時候編譯錯誤是致命的?
- 10. 什麼是最流行的編譯器,MSVS有什麼不好?
- 11. 什麼是在ansible命令
- 12. 爲什麼在Code :: Blocks中不能用mingw編譯?
- 13. flush命令有什麼作用?
- 14. 什麼是newproxy,它有什麼用處?
- 15. 什麼是java中的對象,它有什麼作用
- 16. 它在Swift中編譯...但它是什麼?
- 17. 爲什麼ptr_fun(tolower)不能在mingw中編譯?
- 18. 爲什麼在MinGW中編譯的DLL會崩潰?
- 19. 從命令行編譯IronPython的最簡單方法是什麼?
- 20. Cocoa中的@package編譯器指令是什麼?
- 21. 交叉編譯時,CMake的link.txt中的鏈接器命令應該是什麼?
- 22. 編譯器在轉換整數常量時有什麼作用?
- 23. MATLAB編譯器運行時(MCR)中的JVM有什麼作用?
- 24. 什麼是env命令呢?
- 25. 什麼是$ shell命令
- 26. 是什麼find命令
- 27. 什麼是Matrix.getMatrix命令?
- 28. 模板,什麼是編譯
- 29. 這是一個有效的shell sed命令,它有什麼作用?
- 30. 綁定到Delphi XE4編譯器的條件編譯器指令是什麼?