我想知道 windows 窗体应用程序、win32application 和控制台之间有什么区别,我知道 windows 窗体应用程序和 win32 应用程序都是 gui 工具,但我想知道何时使用其中一个而不是另一个,我可以转换吗控制台应用程序到 Windows 窗体应用程序?
窗口窗体指的是 .NET 应用程序。它并不直接基于本机 Windows API,而是基于 .NET 基础结构。其中包括虚拟机。
Win32一般指32位Windows API。但是,那_WIN32
宏是为 32 位和 64 位编程定义的。作为 Visual Studio 项目类型,它包括 GUI 和控制台子系统 API 级程序。
A Windows子系统是可执行文件标头中的一个小整数值,它告诉 Windows 该程序需要哪种服务。该值可以通过例如检查微软的dumpbin
程序,例如dumpbin c:\windows\notepad.exe /headers | find "ubs"
。在 Windows 9x 中dumpbin
可以通过文件预览功能获得输出,但该功能已停止。
Windows 中的每个进程都可以与一个(最多一个)控制台窗口关联。
图形用户界面子系统意味着 Windows 将NOT尝试为每个实例配备一个关联的控制台窗口。然而,该进程本身可以创建一个控制台窗口。通常,该子系统用于具有图形用户界面(因此称为“GUI”)的普通程序,并且对于大多数链接器,它被指定为“windows”。
控制台子系统意味着 Windows 将尝试为每个实例配备一个关联的控制台窗口,并在必要时创建一个新窗口。
注意
相同的源代码可以构建为控制台或 GUI 子系统。这非常容易做到。只需更改子系统规格即可。
GUI 子系统可执行文件具有标准流,就像控制台子系统可执行文件一样。
控制台子系统可执行文件可以呈现图形用户界面,就像 GUI 一样。
另请注意
- Microsoft 的工具默认不接受标准 C++
main
用于 GUI 子系统构建。然而,这种不合格行为很容易修复。只需指定/entry:mainCRTStartup
在链接器选项中。
而GNU工具,即g++则不存在这样的问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)