Есть ли какие-либо причины не использовать Visual Studio 6 для C ++?[закрыто]

StackOverflow https://stackoverflow.com/questions/625990

  •  05-07-2019
  •  | 
  •  

Вопрос

Есть ли какие-либо причины, по которым я не должен использовать Visual Studio 6 для разработки на C ++?

  • Где я могу найти некоторые ресурсы, объясняющие, было бы это хорошей идеей или нет?
  • Есть ли какие-либо списки проблем, которые у меня могли бы возникнуть в связи с этим?
Это было полезно?

Решение

  1. std::string проблемы с многоядерным процессором во время выполнения, повторные: КB813810
  2. плохая поддержка STL
  3. еще более слабая стандартная поддержка C ++

Не делай этого.

Другие советы

Я бы не сказал, что Visual Studio 6 "никогда" не следует использовать для разработки на C ++.Я бы сказал, что его "больше не следует" использовать для разработки на C ++.Причины:

  1. Более поздние компиляторы Microsoft (в частности, Visual Studio 2008) гораздо более совместимы со спецификацией C ++.
  2. Более поздние компиляторы Microsoft добавляют более качественные предупреждения и ошибки.Они полезны при поиске потенциальных проблем безопасности в вашем коде.
  3. Он больше не поддерживается.Более новые версии Windows SDK не работают с Visual C ++ 6, поэтому вы не сможете использовать новые функции в Windows без дополнительной работы.

Подводя итог:прекратите использовать Visual C ++ 6.Если вам нужно использовать компилятор Microsoft C ++, используйте Visual Studio 2008.

Visual Studio 6 подойдет, если вам нужна быстрая и легкая среда с хорошим отладчиком.Проблема в прилагаемом к нему компиляторе C ++, который очень устарел.После многих лет счастливого использования VC ++ 6 я теперь перешел на Код::Блоки, который предоставляет вам аналогичную среду разработки, но позволяет использовать современный компилятор g ++.

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

Если вы верите шумихе вокруг MS, Visual Studio 2010 будет значительно улучшен для разработки на C ++ и будет включать большую часть функциональности Visual Studio 6, которая была утрачена в более поздних выпусках.Лично я считаю Visual Studio 6 очень производительным инструментом разработки на C ++, в той мере, в какой я все еще использую его для большей части своей разработки и выполняю окончательную компиляцию и тестирование под VS2008.Мои причины для этого приведены в предыдущем вопросе здесь

Текущий пользователь VS6 здесь.В этом году мы переходим, но я все еще использую его сегодня.

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

Одна вещь, на которую я видел здесь намек, но не была сказана явно, заключается в том, что некоторые из наиболее интересных функций STL практически непригодны для использования в VS6.Насколько я мог судить, это происходит главным образом потому, что компилятору трудно определить подразумеваемые параметры шаблона.Например, практически все в std::algorithm будет либо полностью непригодно для использования, либо потребует такого большого количества явных инстанцирований, что было бы проще и чище просто написать код вручную.

Boost может немного помочь в этом, но большая часть Boost также будет недоступна для вас.:-(

Я сам выучил C ++ на MSVC ++ 6, когда учился в средней школе.К моему ужасу, я обнаружил, что моя нынешняя компания все еще использует его.I причиняет нам бесконечную боль, в основном из-за того, что шаблоны не компилируются.Мы получаем большие внутренние ошибки компилятора.О, и ключевое слово mutable, похоже, не работает.Существует также масса проблем с соблюдением стандартов, некоторые из них довольно серьезные, как, например, мой любимый:

for (int i = 0; i < 10; ++i)
{
     // do some stuff here
}

cout << i; // THIS COMPILES AND WORKS!  i is in the function scope, not the loop scope.

Некоторое время назад я нашел довольно хороший список ошибок и недочетов в MSVC ++ в попытке убедить моего босса сменить работу... вот ссылка.

Хорошо, vs2005 и выше предоставляет стандарты, совместимые с c ++, и лучшую IDE (например, я нахожу intellisense немного менее глючным).

Тем не менее, если соответствие стандартам вас не беспокоит, вы разрабатываете только управляемый код и ваши проекты очень ориентированы на пользовательский интерфейс, вы можете предпочесть VC6 (мастер классов ужасен на vs2008).

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

Еще одна причина не использовать Visual Studio 6 заключается в том, что она больше не поддерживается многими библиотеками с открытым исходным кодом (например, ACE framework).Также, если вы используете Visual Studio 6, вам следует применить все исправления, потому что некоторый код невозможно скомпилировать без этих исправлений.Поддержка шаблонов не очень хороша.

В качестве заключения:Я бы рекомендовал использовать современные / более новые компиляторы C ++.

Основная причина:vc ++ 6 имеет плохую стандартную поддержку.В результате некоторые библиотеки не смогли быть скомпилированы этим компилятором.И у вашего проекта будут проблемы, когда вы решите скомпилировать его с другим компилятором.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top