Преимущество портирования vc6 на vc2005 / vc2008? - PullRequest
1 голос
/ 10 марта 2009

Я просил мою команду перенести наше приложение vc6 на vc2005, они готовы когда-нибудь выделить то же самое. Теперь им нужно знать, в чем преимущество переноса.

Я не думаю, что они действительно понимают, что значит придерживаться стандартного соответствия.

Помогите мне перечислить преимущества для портирования.

Проблема, с которой я столкнулся

1) Нет поддержки отладки для стандартных контейнеров

2) Невозможно использовать библиотеки повышения

3) Мы используем много генерации запросов, но используем функцию формата CString, которая не является безопасной для типов

4) Много времени уходит на устранение неполадок, связанных с проблемами vc6, таких как >>

vector<vector<int>>

без пробела между >>

Ответы [ 7 ]

8 голосов
/ 10 марта 2009

Преимущества:

  • Более совместимый со стандартами компилятор. Это хорошо, потому что это упростит портирование на другую платформу (если вы когда-нибудь захотите это сделать). Это также означает, что вы можете искать вещи в стандарте, а не в документации Microsoft. В конце вам придется обновить ваш компилятор в какой-то момент в функции. Чем раньше вы это сделаете, тем меньше будет работы.

  • Не поддерживается MS. Новый SDK не работает. 64-битная не работает. И я не думаю, что они все еще исправляют ошибки.

  • Более приятная IDE. Лично я действительно предпочитаю вкладки MDI. Я также думаю, что гораздо проще настроить Visual Studio (создавать собственные ярлыки, строки меню и т. Д.). Конечно, это субъективно. Проверьте экспресс-издание и посмотрите, согласны ли вы.

  • Лучшая поддержка плагинов. Некоторые плагины недоступны для VC6.

Недостатки:

  • Время, необходимое для порта. Это очень сильно зависит от того, какой у вас код. Если ваш код интенсивно использует нестандартные функции VC6, это может занять некоторое время. Как сказал Эндрю, если вы поддерживаете старый унаследованный проект, это может не стоить этого.

  • Плохая производительность. Если вы разрабатываете на действительно старых компьютерах, Visual Studio может работать слишком медленно.

  • Стоимость Я только что посмотрел, и лицензии Visual Studio немного дороже, чем у VC6.

5 голосов
/ 10 марта 2009

Почему VC2005? Если вы собираетесь потратить время (и тестирование!) На обновление с VC6, почему бы не нацелиться на VC2008?

3 голосов
/ 10 марта 2009

Если вы поддерживаете унаследованный проект, портирование может оказаться бесполезным. Простое преобразование проектов и устранение проблем с компилятором может занять недели и привести к нестабильности.

Если вы активно разрабатываете продукт, то главное преимущество заключается в том, что вы больше не будете использовать продукт, которому более восьми лет - что, безусловно, хорошо.

2 голосов
/ 10 марта 2009
  • Более поздние версии Windows SDK не работают с VC6 - если вы хотите использовать новейшие функции Windows, вам потребуется более свежий компилятор.
  • Более поздние компиляторы, как говорят, более соответствуют стандартам. Извините, я не могу быть более конкретным. Я знаю, что VC6 генерирует множество предупреждений компилятора только за использование стандартных шаблонных классов.
  • Если вы используете какие-либо внешние библиотеки, скомпилированные с более поздним компилятором, вам необходимо использовать что-то совместимое.

Приготовьтесь к резкому переходу - IDE более отличаются, чем должны быть.

1 голос
/ 10 марта 2009

Я не говорю, что вы не должны конвертировать, но чтобы взять ваши конкретные очки:

1) Нет поддержки отладки для стандарта контейнеры

Я все время отлаживаю код, используя стандартные контейнеры с VC ++ 6. В чем ваша проблема здесь?

2) Невозможно использовать библиотеки повышения

True. Вы можете обнаружить, что можете использовать некоторые более простые вещи.

3) Много времени тратится на неприятности стрельба vc6 проблемы, такие как >>

[не могу заставить ТАК прекратить искажать это, nb]

без пробела между >>

Гм, это синтаксическая ошибка (по крайней мере, в версии C ++, понятной для VC ++ 6), и будет помечена как таковая. Если ваша команда тратит «много времени» на подобные вещи, вам нужна другая команда.

Edit:

3) Мы используем много запросов, но использовать функцию формата CString, которая небезопасно

Это будет одинаково небезопасно для VS2005. Я не понимаю, почему это является причиной портирования. Если вы хотите безопасность типов, используйте стандартные механизмы ввода / вывода C ++.

1 голос
/ 10 марта 2009

Для обеспечения полной совместимости приложения с различными версиями базовой платформы. И исправить найденные ошибки, чтобы у конечного пользователя было достаточно свободы в использовании своей версии базовой платформы.

0 голосов
/ 10 марта 2009

Если ваша команда не видит никаких преимуществ и вы не можете объяснить какие-либо преимущества, почему вы просите их сделать это?

Звучит так, будто вы портируете только ради этого.

...