Есть ли какие-либо причины не использовать Visual Studio 6 для C ++?[закрыто]
Вопрос
Есть ли какие-либо причины, по которым я не должен использовать Visual Studio 6 для разработки на C ++?
- Где я могу найти некоторые ресурсы, объясняющие, было бы это хорошей идеей или нет?
- Есть ли какие-либо списки проблем, которые у меня могли бы возникнуть в связи с этим?
Решение
std::string
проблемы с многоядерным процессором во время выполнения, повторные: КB813810- плохая поддержка STL
- еще более слабая стандартная поддержка C ++
Не делай этого.
Другие советы
Я бы не сказал, что Visual Studio 6 "никогда" не следует использовать для разработки на C ++.Я бы сказал, что его "больше не следует" использовать для разработки на C ++.Причины:
- Более поздние компиляторы Microsoft (в частности, Visual Studio 2008) гораздо более совместимы со спецификацией C ++.
- Более поздние компиляторы Microsoft добавляют более качественные предупреждения и ошибки.Они полезны при поиске потенциальных проблем безопасности в вашем коде.
- Он больше не поддерживается.Более новые версии 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 имеет плохую стандартную поддержку.В результате некоторые библиотеки не смогли быть скомпилированы этим компилятором.И у вашего проекта будут проблемы, когда вы решите скомпилировать его с другим компилятором.