代码之家  ›  专栏  ›  技术社区  ›  yesraaj

将VC6移植到VC2005/VC2008的优势?

  •  1
  • yesraaj  · 技术社区  · 17 年前

    我要求我的团队将我们的VC6应用程序移植到VC2005,他们随时准备分配时间来完成同样的工作。现在他们需要知道移植的优势是什么。

    我不认为他们真正理解遵守标准意味着什么。

    帮我列出做移植的好处。

    我面临的问题是

    1)标准容器无调试支持

    2)无法使用Boost库

    3)我们使用了大量的查询生成,但是使用了不安全类型的CString格式函数。

    4)在解决VC6问题上花费了大量时间,如有>>

    vector<vector<int>>
    

    在>>之间留出空间

    7 回复  |  直到 17 年前
        1
  •  8
  •   drby    17 年前

    优势:

    • 更符合标准的编译器。 这是一件好事,因为它将使移植到另一个平台更容易(如果您想这样做的话)。它还意味着您可以在标准中查找,而不是在Microsoft的文档中查找。最后,您必须在该特性的某一点上升级编译器。你做得越快,工作就越少。

    • MS不支持。 新的SDK不工作。64位不工作。我也不认为他们还在修复虫子。

    • 更好的IDE。 就个人而言,我更喜欢标签而不是MDI。我还认为配置Visual Studio(创建自定义快捷方式、菜单栏等)要容易得多。当然这是主观的。看看速成版,看看你是否同意。

    • 更好的插件支持。 有些插件不适用于VC6。

    缺点:

    • 到港口所需的时间。 这在很大程度上取决于您拥有哪种代码。如果您的代码大量使用不符合标准的VC6功能,可能需要一些时间。正如安德鲁所说,如果你要维护一个旧的遗留项目,它可能不值得。

    • 性能更差。 如果您在非常老的计算机上开发,Visual Studio可能太慢了。

    • 成本 我只是快速浏览了一下,而且Visual Studio许可证似乎比VC6要贵一些。

        2
  •  5
  •   Chris Peterson    17 年前

    为什么是VC2005?如果你要投入时间(和测试!)要从VC6升级,为什么不针对VC2008?

        3
  •  3
  •   Andrew Grant    17 年前

    如果您要维护一个遗留项目,那么移植可能没有优势。简单地转换项目和修复编译器问题可能需要数周的时间,并带来不稳定性。

    如果你正在积极开发一个产品,那么主要的优势是你将不再使用一个超过8年的产品——这显然是一件好事。

        4
  •  2
  •   Mark Ransom    17 年前
    • Windows SDK的最新版本不适用于VC6-如果要使用最新的Windows功能,则需要更新的编译器。
    • 据说后来的编者更符合标准。对不起,我不能说得更具体些。我知道VC6只为使用标准模板类而生成许多编译器警告。
    • 如果您使用任何用以后的编译器编译的外部库,则需要使用兼容的库。

    准备一个严酷的转变-IDE的不同于他们应该做的。

        5
  •  1
  •   Real Red.    17 年前

    以确保应用程序与基础平台的不同版本完全兼容。并纠正由此发现的任何错误,以便给最终用户足够的自由使用自己版本的基础平台。

        6
  •  1
  •   anon    17 年前

    我不是说你不应该转换,而是采取你的具体观点:

    1)标准无调试支持 容器

    我一直在用VC++6使用标准容器调试代码。你有什么问题吗?

    2)无法使用Boost库

    真的。你可能会发现你可以用一些简单的东西。

    3)多花时间解决问题 拍摄VC6问题,如

    [别再这样了,NB]

    在>>之间留出空间

    嗯,那是一个 语法错误 (至少在VC++ 6所理解的C++版本中)将被标记为这样。如果你的团队在这类事情上花了“很多时间”,你需要另一个团队。

    编辑:

    3)我们使用大量的查询生成,但是 使用cstring格式函数,即 非类型安全

    它在VS2005下同样不安全。我不明白为什么这是移植的原因。如果需要类型安全,请使用标准的C++ I/O机制。

        7
  •  0
  •   Stevo    17 年前

    如果你的团队看不到任何优势,而你又无法解释任何优势,你为什么要求他们这么做?

    听起来你只是为了它而移植。