什么是所有的问题你预见到在这样做。

有帮助吗?

解决方案

  1. VC6不再支持由Microsoft, 在任何方式。如果出现错误和出于什么原因我们无法汇编,我们将完全在我们自己无法得到任何援助。这似乎不大可能,东西可以去错误的,在这种方式,但是,如果代码在的问题是一个主要收入来源,然后你拿东西的平衡。
  2. 这是不可能编制的64位代码在VC6.32位的程序运行在64位Windows--至少现在如此。但如果你需要采取优势的潜在的速度和存储器中取得的收益,创建一个本地的64位的产品(例如,能够使用超过3GB RAM在一个单一的过程),然后VC6。
  3. VC9有更好的符合标准.VC6的标准的遵守情况非常差。这实际上是两个原因来港口和可能的原因。程序员,他们使用VC6有用来做的事情'错误的方式',并从这些代码将需要重构的工作VC9.

一个简单的例子#3以上是对于循环:

for( int n = 0; n < someMax; ++n )
{
  // do stuff
}

printf("Did %d stuffs", n);

这个代码工作在VC6但不会在VC9.事实上,它是一个错误的程序--事实上,VC6允许这是一个缺陷在VC6.

决定港口从VC6到VC9不是一个灌篮。你必须要考虑如何困难,该项目将和平衡,用的任何收益,你得到的任何问题你避免的。

你应该审查微软的名单的破坏性更改作出决定时是否和如何进行这个项目。第一个列表,断变化从VC6到VC7,是一个巨大的清单。其他更小的比较。这表明,如果你口从VC6什么,它应该至少2005年。

其他提示

如何代码库的大你在说什么?

移植一个小程序(即大多非模板化的C ++代码)应该是相当微不足道的。

但是我曾经100.000线的使用模板的代码从VC6转换为VC2005,并且它是一个恶梦周(5天的工作),主要的问题是,我不得不用手来固定的约30%问题(70%是相当琐碎的,并且可以与搜索和替换解决这些问题)。但更大的问题是事实,旧代码没有测试用例,没有测试框架,所以即使我得到了应用程序编译和不段错误,并期待OK(?),我没有保证一切是实际工作因为它被认为是

所以其实我的建议是考虑代码的大小和测试的有效性,并考虑如果代码确实需要移植(对我来说这是一个不错,但它并非总是如此,特别是如果软件将很快淡出)

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