据我所了解,如果要设计一个C++ GUI界面并将其作为一个独立的可执行文件发布,目前似乎没有这样的方式。所有的第三方框架都会以.dll等形式添加它们的依赖项,无论是MFC、Qt、WTL、wxWidgets还是GTK。这就只能让我自己使用Win32 API来设计当前应用程序的GUI界面。我的假设是否正确,或者我错过了什么?我一直想知道uTorrent和其他一些应用是如何实现的。谢谢。
即将发表抱怨
即使是桌面软件,你在发布后也必须为用户提供维护服务。操作系统版本会改变,它们的API和已安装库也会改变。苹果并不介意在新的OS X和iOS版本中“破坏”应用程序,开发人员明白他们必须保持产品更新或者他们将失去客户或者忙于支持电话。微软等“大企业世界”的公司创造了一类将软件视为建筑物的程序员。你设计它、构建它,有人批准了,然后你就完成了,也许还要支持两年。但这不是应该的。
即使一个人尽可能编写了未来可靠的应用程序,即依赖于目标操作系统和任何可能出现的操作系统的完全定义、通用和文档化行为,并且甚至静态链接所有使用的库,使其自包含、正确和oldnewthing-approved,他们仍然必须积极地维护它多年。它所依赖的库会发生变化。它们会升级、改进、修复漏洞、修复OS相关的行为。
即使应用程序只依赖于最小的系统库集合,上述所有内容也同样适用。
所以,无论您的应用程序是否被设计为仅限于一定时间使用,您都必须假设并计划您将不得不维护它,如果与您的应用程序相关的任何内容发生变化。即使它是一个纯Win32 API应用程序,您也必须检查它在较新版本的Windows中的行为方式,以及它是否提供用户期望从他们的应用程序中获得的UI元素或服务。
话虽如此,如果您不走纯Win32 API路线,请注意您所做出的权衡,当和如果使用我最初提到的任何黑客技巧时。
即使您的项目最终只是一个一次性应用程序。即使只是为了未来保护自己。