将C ++ / MFC从visual studio.net 2002转换为visual studio 2010

时间:2010-06-04 10:01:30

标签: c++ visual-studio visual-c++ visual-studio-2010 mfc

我们将在Visual Studio.NET 2002中将用C ++和MFC编写的许多程序转换为Visual Studio 2010.我们可以遇到哪些问题?图书馆有哪些变化值得了解?

3 个答案:

答案 0 :(得分:2)

MFC对这些版本进行了一些重大更改。 MSDN上的所有更改都是documented,通常它们非常简单 - 函数签名更改等(通常可以通过检查编译器错误消息并找出它想要的内容来修复)。

答案 1 :(得分:2)

我已经完成了将项目转移到VS 2008,两个大项目是“安全CRT”功能和for循环范围更改。 (我不记得究竟发生了什么,但它可能会影响你。)基本上编译器是你的朋友...构建整个事情,它会找到问题,然后你可以解决。您可以取消安全的CRT警告,但您也可以将它们处理掉。

我不知道任何“我很乐意编译,但我不会做我以前在运行时做的事情,从而破坏你的世界”在过去十年中突破MFC或C ++的变化。因此,一旦您使编译器开心,您应该确信您的应用程序仍然有效。

答案 2 :(得分:-1)

dynamic_cast在运行时的行为会有所不同

class A
{
}

class B : public A
{
}

class C : public A
{
}

//...

C* c = new C();
//This used to work, i.e. didn't return NULL, with 2002
B* b = dynamic_cast<B*>(c); //... won't work any more --> returns NULL.