我遇到了一个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编译器的条件编译器指令是什么?