Size: a a a

Конференция C++ Russia

2020 May 17

AS

Alexey Solomin in Конференция C++ Russia
Anton Vertver
Да и мы думаю, тоже найдем. Правда ошибки основные все равно искать ручками надо
ну да, ревью никто не отменял, тесты тоже, но от статического анализатора польза в том, что он автоматом отработает и может найти серьёзную проблему на раннем этапе
источник

AV

Anton Vertver in Конференция C++ Russia
Aleksandr Borgardt
баги логике ?
Да, они самые
источник

AV

Anton Vertver in Конференция C++ Russia
И вот в этом самом геймдеве, ошибки в логике могут быть в таких местах, куда анализатор физически не дойдет
источник

AV

Anton Vertver in Конференция C++ Russia
Те же самописные скрипты и парсеры
источник

o

ololoshwin in Конференция C++ Russia
Anton Vertver
Разрабатываю без анализатора, все работает идеально и без всяких багов
Не всем доступна такая роскошь, как писать 100 строк кода в день.
источник

K

Kirill in Конференция C++ Russia
ololoshwin
Не всем доступна такая роскошь, как писать 100 строк кода в день.
Я читал, что в среднем разработчик пишет примерно 7 строк в день
источник

*

*cyberzx in Конференция C++ Russia
хороший разработчик пишет отрицательное количество строк кода в день
источник

*

*cyberzx in Конференция C++ Russia
Anton Vertver
Смешанно, но чаще всего все работают именно в студии и с MSVC, нежели с клангом. Там на вижлу и компиляторы все есть для платформ нужных (кроме Nintendo Switch, хотя я не держат её девкит), да и плюс плагины все есть для работы с ветками и системами контроля версий
Ну вот смотри. Для nswitch, ps4, macos, ios нативный компилятор clang. Если пишешь кроссплатформенный проект, то удобнее, когда один компилятор на все платформы, и этим компилятором будет не msvc.
К тому же clang генерирует более быстрый код и не имеет тех багов, что есть у msvc17/19.  Ну а PVS вполне может использовать msvc, если ему надо. Мы же не будем так говнокодить, что наш проект компилируется одним компилятором, но не компилируется другим? Вопрос в том, на чём мы собираем релизную сборку в продакшн.
источник

AV

Anton Vertver in Конференция C++ Russia
*cyberzx
Ну вот смотри. Для nswitch, ps4, macos, ios нативный компилятор clang. Если пишешь кроссплатформенный проект, то удобнее, когда один компилятор на все платформы, и этим компилятором будет не msvc.
К тому же clang генерирует более быстрый код и не имеет тех багов, что есть у msvc17/19.  Ну а PVS вполне может использовать msvc, если ему надо. Мы же не будем так говнокодить, что наш проект компилируется одним компилятором, но не компилируется другим? Вопрос в том, на чём мы собираем релизную сборку в продакшн.
Ну, релиз собирается на том, на чем лучше, тут на самом деле плевать какой компилятор, а работа с движок ведется естественно на MSVC, ибо и дебажить так проще, и вообще работается очень быстро
источник

*

*cyberzx in Конференция C++ Russia
А в чём проблема дебага у clang?
источник

*

*cyberzx in Конференция C++ Russia
Ну и про скорость непонятно. У нас вот clang сильно быстрее компилирует и линкует, чем msvc
источник

AV

Anton Vertver in Конференция C++ Russia
Я про скорость разработки имел ввиду. А проблема в дебага заключается в том, что не получается подключать статические библиотеки различных дебажных либ, которые распространяются без исходников
источник

*

*cyberzx in Конференция C++ Russia
Ну это наверное ваша локальная специфика в использовании либ без исходников, которые надо отлаживать самому.
Обычно, если платишь деньги за либу, то не стесняются дать и исходники :)
источник

AV

Anton Vertver in Конференция C++ Russia
*cyberzx
Ну это наверное ваша локальная специфика в использовании либ без исходников, которые надо отлаживать самому.
Обычно, если платишь деньги за либу, то не стесняются дать и исходники :)
Steam Audio распространяют без исходников, поэтому приходится вертеться как есть
источник

AV

Alexey Veselovsky in Конференция C++ Russia
Anton Vertver
Смешанно, но чаще всего все работают именно в студии и с MSVC, нежели с клангом. Там на вижлу и компиляторы все есть для платформ нужных (кроме Nintendo Switch, хотя я не держат её девкит), да и плюс плагины все есть для работы с ветками и системами контроля версий
дык а где здесь компилятор от MS то? я вижу тут, в описании, лишь IDE. А Clion таки адекватней как IDE часто. Или тот же Qt Creator. А тот же git MSVS держит весьма посредственно. И с cmake работает так, что пользоваться этим вообще нельзя.
источник

AV

Alexey Veselovsky in Конференция C++ Russia
clang же вроде как совместим с msvc бинарно. специально для винды опция. не?
источник

AV

Alexey Veselovsky in Конференция C++ Russia
вообще, не понимаю, что мешает взять релизную сборку а к ней дебажные символы и отлаживаться сколько угодно
источник

AV

Alexey Veselovsky in Конференция C++ Russia
ну и какой смысл прятать исходники дебажных либ, если в символах считай один фиг все исходники будут?
источник

AV

Alexey Veselovsky in Конференция C++ Russia
/me ничего не понял
источник

AV

Anton Vertver in Конференция C++ Russia
Так делают например Unigine, у них спросите
источник