Каковы преимущества VS2008 по сравнению с VS2005 для разработки на C++?
мы рассматриваем возможность перехода с MS Visual Studio 2003 на MS Visual Studio 2005 для нашей разработки на C++. Я думаю, что лучше перескочить на 2008 год.
в чем VS2008 лучше, чем VS2005 для разработки на C++?
есть ли недостатки VS2008 более VS2005?
8 ответов
существует очень мало различий между 2005 и 2008 с точки зрения родного разработчика C++. Однако, если исходить из 2003, имеет смысл перейти непосредственно на 2008 - процесс преобразования должен быть почти таким же, и вы получите немного лучшую платформу. Некоторые новые функции, которые доступны только для 2008 года:
- /MP опция для многоядерной компиляции (огромная экономия времени, если у вас есть компьютер mutlicore)
- некоторые улучшения отладки опции для многопоточных приложений
есть также некоторые дополнительные загружаемые пакеты за 2008 год всего:
- библиотеки TR1
- новый MFC
честно говоря, что касается чистой разработки на C++, я не думаю, что между ними много, кроме VS2008-это "последняя" версия. Я не заметил никаких существенных изменений.
тем не менее, последняя версия MFC была предоставлена новая аренда жизни с добавлением пакета функций (давая вам внешний вид MSOffice 2007), который может быть стоит знать.
самое большое улучшение в 2008 для нас было в надежности Intellisense на больших решениях. Наш проект имеет несколько миллионов строк кода, и Intellisense был непригоден для использования в 2003 году. В 2008 году он улучшен и работает чаще, чем нет.
VS2008 содержит множество исправлений ошибок и, безусловно, стоит обновить IMO. Помимо улучшений пользовательского интерфейса и связанных с ним инструментов, гораздо лучше работать с классами шаблонов, которые не всегда так хорошо работали с компилятором VS2005, если вы не использовали самые основные синтаксисы. Есть также много других областей, которые были улучшены, но я не могу беспокоиться о том, чтобы найти документ MS На данный момент, детализирующий эти изменения. Поэтому поверьте мне, когда я говорю, что их много. :)
Я бы сказал, Если у вас нет какой-то веской причины придерживаться 2005 (т. е. обратной совместимости вашего кода, который не строится правильно с VS2008), вы определенно должны нажать на обновление. К счастью, вы можете работать с несколькими версиями VS на одной рабочей станции. Вам просто нужно установить их sequentiall; т. е. VS2005 сначала, а потом VS2008 потом.
затем вы можете проверить свою кодовую базу под VS2008 и посмотреть, насколько болезненной (если вообще) миграция в VS2008 будет.
Visual Studio 2008-это интегрированная среда, которая позволяет разрабатывать как для Windows CE, так и для Windows. (Ранее нам приходилось работать над eVC++ 4.0, что было не так приятно...)
недостатком, с которым я столкнулся, является то, что последний взнос контейнеров DINKUM STL делает предположение, что используются указатели, а не политика использования allocator::pointer. Это проблема для нас, потому что мы написали наш собственный класс "указатель" для использования общей памяти (хранение памяти смещения вместо абсолютных адресов). Итак, нам пришлось использовать старую библиотеку STL. С другой стороны, отладчик может отображать содержимое контейнера STL гораздо более информативно.
в настоящее время я использую VS 2005. Я попробовал последнюю бета-версию VS 2008, и компилятор последовательно разбился на моих проектах, поэтому я застрял с VS 2005. Я не смотрел версию релиза.
одна большая причина выбрать VS 2008 над VS 2005 заключается в том, что VS 2005 имеет ошибку с intellisense, которая заставляет его использовать слишком много памяти. Обычно это не проблема, но когда я пытаюсь использовать как Visual Assist, так и Refactor! C++ в VS 2005, IntelliSense сбивание приносит мою систему на колени. Это предположительно исправлено в VS 2008. (У меня есть лицензия на VS 2008, и как только мой следующий выпуск продукта, я собираюсь попробовать миграцию, в основном по этой причине.)
Visual C++ 2008 отказались от поддержки однопоточной библиотеки времени выполнения. Хотя я не думаю, что это имеет значение.