从VC6->vc2005,2008移植真的值得吗? [英] Is it really worth porting from VC6 ->vc2005,2008?

查看:22
本文介绍了从VC6->vc2005,2008移植真的值得吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

What are all the problem that you foresee in doing that.

推荐答案

  1. Microsoft 不再支持 VC 6,无论如何.如果出现问题,无论出于何种原因我们无法编译,我们将完全靠自己无法从 Microsoft 获得任何帮助.以这种方式出现问题似乎不太可能,但如果有问题的代码是主要收入来源,那么您就需要权衡利弊.
  2. 无法在 VC6 中编译 64 位代码.32 位程序在 64 位 Windows 上运行——至少目前是这样.但是,如果您需要利用创建本机 64 位产品所带来的潜在速度和内存增益(例如,能够在单个进程中使用超过 3 GB 的 RAM),那么 VC6 就会出局.
  3. VC9 具有更好的标准合规性.VC6 的标准遵从性很差.这实际上既是移植的原因,也可能是不移植的原因.使用 VC6 的程序员习惯于以错误的方式"做事,并且大部分代码需要重构才能在 VC9 中工作.
  1. VC 6 is no longer supported by Microsoft, in any way. If something goes wrong and for whatever reason we were not able to compile, we would be completely on our own unable to get any assistance from Microsoft. It seems unlikely that something could go wrong in this way, but if the code in question is a main source of revenue then you have take things in balance.
  2. It is impossible to compile 64-bit code in VC6. 32-bit programs run on 64-bit Windows -- at least for now. But if you need to take advantage of the potential speed and memory gains from creating a native 64-bit product (for example, being able to use more than 3 GB of RAM in a single process), then VC6 is out.
  3. VC9 has much better Standards compliance. VC6's Standards compliance was very poor. This is actually both a reason to port and possibly a reason not to. Programmers who used VC6 got used to doing things the 'Wrong Way', and much of that code will need to be refactored to work in VC9.

上面#3 的一个简单例子是 for 循环:

A simple example of #3 above is a for loop:

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

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

此代码在 VC6 中有效,但在 VC9 中无效.它实际上是一个格式错误的程序——VC6 允许它的事实是 VC6 中的一个缺陷.

This code works in VC6 but won't in VC9. It is in fact a malformed program -- the fact that VC6 allows it is a defect in VC6.

从 VC6 移植到 VC9 的决定不是扣篮.您必须考虑项目的难度,并在获得的收益和避免的任何问题之间取得平衡.

The decision to port from VC6 to VC9 is not a slam dunk. You have to consider how difficult the project will be and balance that with any gains you get and any problems you avoid.

在决定是否以及如何进行此项目时,您应该查看 Microsoft 的重大更改列表.第一个列表,从 VC6 到 VC7 的重大更改,是一个巨大的列表.相比之下,其他的要小得多.这表明如果你从 VC6 移植到任何东西,它应该至少是 2005.

You should review Microsoft's lists of breaking changes when deciding if and how to undertake this project. The first list, breaking changes from VC6 to VC7, is a huge list. The others are much smaller in comparison. Which suggests that if you port from VC6 to anything, it should be at least 2005.

这篇关于从VC6->vc2005,2008移植真的值得吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆