【问题标题】:Pros and Cons of the available Visual Studio 2008 c++ project platforms?可用的 Visual Studio 2008 c++ 项目平台的优缺点?
【发布时间】:2010-10-24 12:08:32
【问题描述】:

如果选择:

  • ATL
  • Windows 窗体
  • MFC
  • Win32

具体申请如下:

  • 供完全内部使用。
  • 大多数用户缺乏基本的 windows/pc 知识。 (考虑简单的用户界面)
  • 用于自动化测试,这需要:
    -从外部设备引入大量数据(可以选择 VXI、USB 或以太网)
    -非常依赖图形 - 可能是 directX
  • 应用程序的生命周期将超过 10 年(考虑未来的 Windows 平台等)
  • 用户在测试时将处于非常偏远的位置并处于离线状态,但可以每晚在线同步报告(现在用于数据库同步的单独应用程序) - 考虑程序更新挑战?
  • 程序速度增加了价值——这意味着我们获取和显示数据的速度越快,可以完成的测试就越多。除了程序之外,没有其他瓶颈,只是速度快一点=效率高一点。

再次,特别是 c++ - 不是 C#。

谢谢, 杰夫

【问题讨论】:

    标签: c++ winforms winapi mfc atl


    【解决方案1】:

    如果您不介意将自己绑定到 VC++,我会选择 ATL+WTL。它非常轻量级,并且仍然为原始 Win32 添加了一些抽象。 MFC 也可以,我想,虽然我不是很喜欢它,但它比 WTL 有更好的文档记录。

    至于 Windows 窗体,我会远离它,尤其是如果你知道你将使用 C++。

    【讨论】:

      【解决方案2】:

      远离 MFC。诚然,它被大量使用,但它是非惯用 C++ 使用的一个很好的例子。值得注意的是,它实现了自己的 RTTI 系统并重新实现了 STL 的部分内容。

      ATL 的功能不是很丰富,但是有一个很好的扩展名为WTL。它也不是很好的 C++,但比 MFC 好得多。如果你对 GTK、Qt 之类的东西不感兴趣(大概是因为你希望框架更薄以便与 DirectX 等轻松集成),WTL 可能是你的最佳选择。

      【讨论】:

        【解决方案3】:

        我不认为 C++ Windows 窗体是一个有效的组合。至少它不在我安装的 VS 2008 中。

        剩下的就是 ATL、MFC 和 Win32。都是旧的,但 Win32 是最旧的,所以我会删除它。

        有很多对 MFC 的外部支持(CodeProject.com 等),它的文档相当完善,并且有很多人有 MFC 经验。查看此网站上 ATL 与 MFC 的主题数量。 MFC 的帖子数量要多一个数量级。

        MFC 似乎比 ATL 更常见。 IMO,MFC 将是要走的路(鉴于选择有限)。

        【讨论】:

          【解决方案4】:

          我在 WTL 和 MFC 方面都有丰富的经验,并且不会再选择 WTL 而不是 MFC。 MFC 并没有那么糟糕,一旦你了解了要忽略哪些部分(文档/视图、CArchive、容器……)可用于 MFC 的帮助。使用 WTL,您几乎可以独立完成(除了 WTL 邮件列表和 viksoe.dk 上的示例代码)。

          话虽如此,如果您无论如何都要在 DirectX 中进行繁重的工作,那么 UI 工具包就没有那么重要了。 MFC 和 WTL 都可以处理一些表单和对话框; win32 工作量太大,没有超过 MFC 或 WTL 的附加值,而来自 C++ 的 Windows 窗体是一个皮塔饼,而且速度很慢。再加上 Windows 窗体已经很老了,至少 MFC 不会再有太大变化了 :)

          【讨论】:

            猜你喜欢
            • 2011-08-24
            • 2012-06-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多