【问题标题】:Advisable to use MFC? [closed]建议使用MFC? [关闭]
【发布时间】:2011-09-07 12:20:24
【问题描述】:

我在这里经常听到 MFC 已经过时,并且将 Win32 包装在糟糕的 OOP 中。

但是微软发布了 VS2010 的 MFC 10,并且它有最新的工具,比如 Ribbon 界面,所以应该将它用于简单的应用程序吗?

【问题讨论】:

  • 这个问题已经被问过好几次了,在这里得到最好的回答:stackoverflow.com/questions/121184/…
  • 如果您计划移植到多平台环境(Apple、Linux、Unix 等),甚至不要开始第一行代码!我建议改用 QT 或 Mono!

标签: windows mfc


【解决方案1】:

MFC 被广泛认为设计不佳,但它最近已更新,看起来还不错。您可以出于其他原因决定不使用它,但您不应该因为它已经过时而拒绝它。

【讨论】:

  • 考虑到当时 C++ 语言,尤其是 Microsoft C++ 的限制,我认为 MFC 团队做得非常好。如果微软现在再做这一切,他们会想出 MFC 吗?可能不是。但它的设计并不差,考虑到上下文
  • @roger 这确实是一个公平的观点
【解决方案2】:

如果你理解它,MFC 看起来还不错。否则你认为它设计得很糟糕。

MFC 并不过时:很多复杂的应用程序都使用 MFC,例如 MS Office。您甚至可以在示例中找到如何制作办公室外观的应用程序。

对于简单的应用,您也可以使用 ATL。

【讨论】:

  • 您认为 MS Office 使用 MFC 究竟是为了什么?虽然 Raymond Chen wouldn't go on record in 2007 regarding this,但我可以向您保证他们不会使用它。
  • 也许你是对的。但是有一个 SDK 示例看起来与典型的 ms office 应用程序完全一样:c:\Program Files (x86)\Microsoft Visual Studio 10.0\Samples\1033\VC2010Samples.zip\C++\MFC\Visual C++ 2008 Feature Pack\MSOffice2007Demo
【解决方案3】:

我发现 MFC 应用程序的速度明显更快,尤其是与 C# 相比,它们的加载速度更快。我从 C# 家伙那里听到的令人信服的论点是,与 MFC 相比,它的开发速度非常快。在性能方面,MFC 胜出。

您可以致电咨询您正在开发的应用程序类型以及您需要哪些功能。不幸的是,这种趋势正在远离 MFC,尽管我个人无法证明这一点。我知道有几家公司计划将 MFC 应用程序迁移到 .NET 我那里的朋友老我主要是它的开发时间更快,并且易于开发。

如果你够大胆,你仍然可以使用 MFC 启动新应用程序,并且比使用 C# 的应用程序做得更好。如果您只想顺应潮流而不是使用新的更简单的工具并在性能上受到一点影响。

总的来说,我绝对不会将 MFC 排除在外,因为它可能只适合某些高性能应用程序。例如,我喜欢 MFC 中的 GUI 线程,这些线程在 C++ 中不存在,但如果使用得当,它会非常强大。我不知道它们是否存在于 C# 或更新的语言中,但我不想放弃它们。

【讨论】:

  • 现在,在广泛使用 C# 和 MFC 之后,我建议使用 C# .NET 基础应用程序并调用外部 DLL 以提高性能。
猜你喜欢
  • 1970-01-01
  • 2012-01-15
  • 1970-01-01
  • 2011-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-21
相关资源
最近更新 更多