将vc6移植到vc2005 / vc2008的优势?

时间:2009-03-10 05:26:34

标签: c++ visual-studio-2008 visual-studio-2005 vc6 porting

我要求我的团队将我们的vc6应用程序移植到vc2005,他们已经准备好分配一些时间来做同样的事情。现在他们需要知道移植的优势。

我不知道他们真的明白遵守标准合规是什么意思。

帮我列出移植的优势。

我面临的问题是

1)没有标准容器的调试支持

2)无法使用增强库

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

4)花费大量时间来解决vc6问题,比如使用>>

vector<vector<int>>

在&gt;&gt;

之间没有空格

7 个答案:

答案 0 :(得分:8)

<强>优点:

  • 更符合标准的编译器。这是一件好事,因为它可以更容易地移植到另一个平台(如果您想要这样做)。它还意味着您可以在标准中查找,而不是在microsoft的文档中查找。最后,您必须在功能中的某个位置升级编译器。你越早做,工作就越少。

  • MS不支持。新SDK不起作用。 64位不起作用。我认为他们还没有修复错误。

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

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

<强>缺点:

  • 移植所需的时间。这在很大程度上取决于您拥有的代码类型。如果您的代码大量使用符合非标准的VC6功能,则可能需要一些时间。正如安德鲁所说,如果你要维护一个旧的遗留项目,那可能就不值得了。

  • 性能更差。如果您在真正的旧计算机上进行开发,Visual Studio可能会太慢。

  • 费用我只是快速浏览一下,Visual Studio许可证似乎比VC6贵一点。

答案 1 :(得分:5)

为何选择VC2005?如果您打算花时间(和测试!)从VC6升级,为什么不针对VC2008?

答案 2 :(得分:3)

如果您要维护旧项目,那么移植可能没有任何优势。简单地转换项目和修复编译器问题可能需要数周时间并引入不稳定性。

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

答案 3 :(得分:2)

  • 更新版本的Windows SDK不适用于VC6 - 如果您想使用最新的Windows功能,则需要更新的编译器。
  • 后来的编译器被认为更符合标准。对不起,我不能更具体。我知道VC6只是为了使用标准模板类而生成了很多编译器警告。
  • 如果您使用任何使用以后编译器编译的外部库,则需要使用兼容的东西。

准备一些严峻的过渡 - IDE与它们应该有所不同。

答案 4 :(得分:1)

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

答案 5 :(得分:1)

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

  

1)没有标准的调试支持   容器

我一直使用VC ++ 6使用标准容器调试代码。这是你的问题?

  

2)无法使用增强库

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

  

3)花费大量时间在麻烦上   拍摄vc6问题,比如有&gt;&gt;

     

[不能让SO停止破坏这个,nb]

     

在&gt;&gt;

之间没有空格

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

修改

  

3)但是使用许多查询生成   使用CString格式的功能   不安全

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

答案 6 :(得分:0)

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

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