Конвертировать C ++ / MFC из visual studio.net 2002 в visual studio 2010 - PullRequest
2 голосов
/ 04 июня 2010

Мы преобразуем ряд программ, написанных на C ++ и MFC в Visual Studio.NET 2002, в Visual Studio 2010. С какими проблемами мы можем столкнуться? Какие изменения есть в библиотеках, которые стоит знать?

Ответы [ 3 ]

2 голосов
/ 04 июня 2010

MFC претерпел ряд серьезных изменений в этих выпусках. Все изменения документированы на MSDN, и обычно они довольно просты - изменения сигнатур функций и т. П. (Которые часто можно исправить, просто проверив сообщение об ошибке компилятора и выяснив, что он хочет вместо этого).

2 голосов
/ 04 июня 2010

Я перенес этот проект на VS 2008, и двумя большими из них были функции "secure CRT" и изменение области действия цикла for. (Я не помню точно, когда это произошло, но это может повлиять на вас.) По сути, компилятор - ваш друг ... создайте все это, и он найдет проблемы, которые вы затем сможете исправить. Вы можете отключить безопасные предупреждения ЭЛТ, но вы можете также позаботиться о них.

Мне ничего не известно о том, что «я рад компилированию, но я не буду делать то, что делал во время выполнения, тем самым разрушая ваш мир», ломая изменения в MFC или C ++ за последнее десятилетие. Поэтому, как только вы порадуете компилятор, вы должны быть уверены, что ваше приложение все еще работает.

0 голосов
/ 04 июня 2010

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.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...