Здравствуйте, The Passenger, Вы писали:
TP>Что там сейчас на фронте по сабжу — кто что пользует?
Зависит сильно. Шланг для разработчика комфортнее, как мне кажется. Лучше диагностика ошибок, новые прикольные фичи часто сначала в нем появляются, потом идут в другие компиляторы.
С поддержкой библиотек вроде не всё так гладко. Та же Куда имеет какие-то неприятные особенности при сборке Шлангом, какие пока не докопался, правда.
TP>Что там сейчас на фронте по сабжу — кто что пользует?
TP>Настала пора проапдейтить инструменты вот выбираю
TP>По слангу — вроде более вменяемые сообщения об ошибках TP>производительность по обоим почти одинаковая TP>Подводные камни по лицензиям?
TP>что еще сравнить?
TP>Спасибо
У нас в проекте используем оба.
Насколько я понимаю, если тебе нужен С++20, то лучше gcc. Если достаточно C++17, то большой разницы нет.
Здравствуйте, Pzz, Вы писали:
Pzz>Собирай обоими. Они вместе больше ошибок у тебя найдут, чем любой из них по-отдельности.
Поддерживаю.
Правда с появлением санитайзеров (ubsan, asan, msan, tsan, и.пр) оказалось, что ошибки в рантайме они надёжнее ловят. То есть раньше часть ошибок находилась из-за того, что программа собранная gcc/clang/msvc в debug/release по другому себя вела в тестах при сравнении с программой, собранной в другой конфигурации компилятор-платформа. А теперь один запуск с условным ubsan отлично находит места с проблемами, даже если они и не изменили поведение программы глобально, а лишь потенциально могли изменить.
Зато использование двух компиляторов лучше защищает от написания кода, который не соответствует стандарту, а является либо случайно неотлкючённым расширением языка, либо ошибочно пропускается компилятором, хотя не должен.
Хотя тут есть и обратная сторона: если захочется воспользоваться какой-нибудь свежей возможностью новой версии языка, то есть риск, что придётся ждать пока эту возможность не реализует во всех используемых компиляторах (без багов).