В чем преимущества VS2008 над VS2005 для разработки на С++?

Мы рассматриваем возможность перехода с MS Visual Studio 2003 на MS Visual Studio 2005 для разработки на С++. Я думаю, что прыгать на 2008 год может быть лучше.

Каким образом VS2008 лучше, чем VS2005 для разработки на С++?

Есть ли недостатки VS2008 по сравнению с VS2005?

Ответ 1

С 2005 по 2008 год очень мало различий с точки зрения разработчика С++. Однако, если с 2003 года, имеет смысл перейти непосредственно на 2008 год - процесс конверсии должен быть почти таким же, и в итоге вы получите немного лучшую платформу. Некоторые новые функции доступны только для 2008 года:

  • /MP для многоядерной компиляции (огромное время, если у вас есть компьютер mutlicore)
  • некоторые улучшенные параметры отладки для многопоточных приложений

В 2008 году также есть несколько дополнительных загружаемых пакетов функций:

  • Библиотеки TR1
  • новый MFC

Ответ 2

Честно говоря, что касается чистого развития на С++, я не думаю, что между ними много, кроме VS2008 - это "последняя" версия. Я не заметил существенных изменений.

Однако последней версии MFC была предоставлена ​​новая аренда жизни с добавлением Feature Pack (дающая вам внешний вид MSOffice 2007), который, возможно, стоит знать.

Ответ 3

Самое большое улучшение в 2008 году для нас было в надежности Intellisense на крупных решениях. Наш проект имеет несколько миллионов строк кода, а Intellisense был непригодным для использования в 2003 году. В 2008 году он улучшается и работает чаще, чем нет.

Ответ 4

Для меня самым большим улучшением было просто то, что VS2008 был довольно заметным.

Ответ 5

VS2008 содержит множество исправлений и, безусловно, стоит обновление IMO. Помимо улучшений в пользовательском интерфейсе и связанных с ним инструментах, гораздо лучше справляться с классами шаблонов, что не всегда так хорошо работает с компилятором VS2005, если вы не используете самые основные синтаксисы. Есть также много других областей, которые были улучшены, но я не могу потрудиться, чтобы найти документ MS в данный момент, детализируя эти изменения. Поэтому поверьте мне, когда я скажу, что их много.:)

Я бы сказал, если у вас нет веских оснований придерживаться 2005 года (т.е. обратной совместимости вашего кода, который не строит правильно с VS2008), вам обязательно нужно нажать на обновление. К счастью, вы можете работать с несколькими версиями VS на одной рабочей станции. Вам просто нужно установить их sequentiall; то есть VS2005 сначала, а затем VS2008 впоследствии.

Затем вы можете протестировать свою кодовую базу под VS2008 и посмотреть, насколько болезненным (если вообще) будет переход на VS2008.

Ответ 6

Visual Studio 2008 - это интегрированная среда, которая позволяет вам разрабатывать как Windows CE, так и Windows. (Раньше нам приходилось работать на eVС++ 4.0, что было не так хорошо...)

Недостаток, с которым я столкнулся, заключается в том, что в последнем пакете контейнеров Dinkum STL делается предположение, что указатели используются, а не политика allocator:: pointer. Это проблема для нас, потому что мы написали собственный класс "указатель" для использования общей памяти (сохранение смещений памяти вместо абсолютных адресов). Таким образом, нам пришлось использовать более старую библиотеку STL. С другой стороны, отладчик может отображать содержимое контейнера STL более информативно.

Ответ 7

В настоящее время я использую VS 2005. Я попробовал последнюю бета-версию VS 2008, и компилятор последовательно разбился на мои проекты, поэтому я придерживался VS 2005. Я не смотрел версию релиза.

Одной из главных причин выбора VS 2008 по сравнению с VS 2005 является то, что VS 2005 имеет ошибку с intellisense, которая заставляет ее использовать слишком много памяти. Обычно это не проблема, но когда я пытаюсь использовать Visual Assist и Refactor! С++ в VS 2005, intellisense purning приносит мою систему на колени. Предположительно, это было зафиксировано в VS 2008. (У меня есть лицензия на VS 2008, и как только мой следующий выпуск продукта, я собираюсь дать миграцию попробовать, главным образом по этой причине.)

Ответ 8

Visual С++ 2008 отказалась от поддержки однопоточной библиотеки времени выполнения. Я не думаю, что это действительно важно.