比MFC更好的框架?

时间:2011-12-09 00:43:18

标签: c++ windows mfc

我的客户多年来一直使用MFC应用程序。主要原因是因为他们的应用程序是与各种传感器交互的实时应用程序,他们的性能是他们成功的关键。

我在大约10年前使用过MFC并转向.NET。但如果有必要,我愿意回到MFC。但问题是它是否值得,如果现在还有比MFC更好的东西。

我知道C ++是优化我们的应用程序所必需的,MFC是Win32 API的OOP包装器,可能是Windows上最快的OOP UI API。

但我主要担心它的可测试性和复杂的API。所以MFC可能会让我们长期放慢脚步。

你怎么看?有没有比MFC更好的性能框架?

更新:至于所需的性能,我没有确切的数字,但我在其操作中看到了一个应用程序。它几乎从每个移动物体获得各种类型的信号。我当时的猜测不到1/2秒才得到&显示每个信号的所有信号。但我可能是错的。

3 个答案:

答案 0 :(得分:4)

您可能希望查看Qt

互联网充满了MFC和Qt的比较;这是一个特别新的:https://softwareengineering.stackexchange.com/questions/17490/comparing-qt-vs-mfc

答案 1 :(得分:4)

假设(虽然未在问题中指明)您的应用程序是另一个传感器控制系统,但它并不像您认为的那样重要。

基本上,您的架构应该将传感器通信保存在自己的线程中,该线程与应用程序的其余部分异步通信。因此,您大多都要检查您的潜在替换库是否在其多线程实现方面做了一些病态的事情。

为了提供详情,我们需要详细信息:所需的响应时间,中断频率,这些事情。但即使在这种情况下,我们大多只是猜测(或竞选我们最喜欢的API)。

我真正的建议是,在“原型控件”中查看.NET获得的性能数字。您最近熟悉API应该可以让您相对快速地完成此任务。

如果性能似乎不可接受,请在Qt或WTL中使用类似的原型或其他任何合理的原型。我认为MFC是最后的手段,仅仅是因为年龄,除非您可以利用来自客户的大量现有控制代码。

答案 2 :(得分:0)

有一些MFC的最佳替代品。

  1. QT是首选。但是,对于商业发行,它的成本几乎没有增加。

  2. wxWidgets,也是跨平台开源库的不错选择。

  3. Ultralight-这是完全不同的,因为它是一个基于HTML的UI引擎,可以在HTML,css和javascript的帮助下创建漂亮的应用程序。