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

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

帮我列出进行移植的优势。

我面临的问题是

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

2)无法使用boost库

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

4)大量时间花在解决 vc6 问题上,例如>>

vector<vector<int>>

>> 之间没有空格

有帮助吗?

解决方案

优点:

  • 更多符合标准的编译器。 这是一件好事,因为它将更容易移植到另一个平台(如果您想这样做)。这也意味着您可以在标准中查找内容,而不是在微软的文档中查找。最后,您将不得不在该功能的某个时刻升级您的编译器。越早做,工作量就越少。

  • 微软不支持。 新的 SDK 不起作用。64位不行。我也不认为他们还在修复错误。

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

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

缺点:

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

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

  • 成本 我刚刚快速浏览了一下,Visual Studio 许可证似乎比 VC6 的许可证贵一点。

其他提示

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

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

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

  • 较新版本的 Windows SDK 不适用于 VC6 - 如果您想使用最新的 Windows 功能,则需要较新的编译器。
  • 据说后来的编译器更符合标准。抱歉我不能说得更具体。我确实知道 VC6 会因为使用标准模板类而生成大量编译器警告。
  • 如果您使用使用更高版本的编译器编译的任何外部库,则需要使用兼容的库。

为艰难的过渡做好准备 - IDE 与应有的不同。

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

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

  

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

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

  

2)无法使用增强库

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

  

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

     

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

     

在&gt;&gt;

之间没有空格

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

修改

  

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

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top