Pull to refresh

Comments 28

Ну очередной юморист в лице вас уже нашелся, поэтому вряд ли.
Не юморист, а суицидник ))
Все ошибки Wine призываю считать фичами для совместимости с WinAPI!
Симметричный ответ — это проверить cygwin :)
Jeditobe, Вы весьма рискуете и ставите под возможный удар Ваш любимый проект РеактОС, появляясь в тредах PVS-Studio. Будет стыдно! Покайтесь, пока не поздно!
А можно по подробней? Чего именно мне должно быть стыдно? То, что найдут баги?

Так пусть будет, как говорил известный герой ютуба: «Ломай меня полностью, полностью ломай. Я спортсмен...»
Чем больше ошибок найдется, тем лучше, мы их исправим.
UFO just landed and posted this here
В этом проекте всего два десятка исходных файлов. Он слишком маленький, но так как проект собирается с помощью nmake, то вы можете самостоятельно проверить его с помощью этой утилиты: PVS-Studio теперь поддерживает любую сборочную систему на Windows и любой компилятор. Легко и «из коробки». Триального режима более чем достаточно. С точки зрения анализа, в этом режиме возможности программы ничем не ограничены.
Всегда можно сказать, что в Wine не баги, а слой совместимости.
Годный проект, очень постараемся его отработать.
Ребята, Вы офигенны :) Технологичные проекты из РФ — рулез!

Вы в оснвоном тестируете прикладной софт, а может попробуете пройтись по серьезному системному софту? Например, ploop git.openvz.org/?p=ploop;a=tree и git.openvz.org/?p=vzctl;a=tree у этих проектов сотни тысяч кастомеров, а ошибка в их коде намного более опасна и деструктивна чем в прикладном софте, так как тут речь идет уже об управлении целыми окружениям.
На первый взгляд это довольно маленькие проекты, правильно?
Да, я думаю там не более 10 тысяч строк кода в каждом. Но они реализуют очень опасные вещи — управляют ядром Linux (vzctl) и кастомной файловой системой для VPS (ploop). Цена ошибки тут — потерянные данные.
Как правило в маленьких проектах ошибок бывает очень мало, поскольку их легко просмотреть глазами. Выгода от статического анализа видна на средних и больших проектах.
Ждем обновлений windows, ведь как говорят: «wine настолько суров, что Microsoft сам качает у него библиотеки.»
Автор, каково ваше впечатление от кода wine в целом?
На мой взгляд в проект безусловно внесли вклад малоопытные люди. Формат вывода сообщений Clang'ом заставил перечитать много кода, и там хватает мест, где без анализаторов понятно, что код написан крайне ненаглядно и запутано, но если подумать, то можно упростить и где-то даже оптимизировать. Но в первую очередь необходимо смотреть полные отчёты проверки, потому что проект очень крупный, чтобы разобрать его даже в нескольких статьях.
А с Objective-C эта штука не заработает совсем? Все таки это надмножество C.
Был бы подмножеством — заработало бы.
И всё же мне непонятно, чем undefined behavior -1 << N отличается от ~0u << N (описанного в Не зная брода, не лезь в воду. Часть третья.), который по сути получает ту же -1 и сдвигает её. Для чего совершать на одну операцию больше? Только потому, что определён беззнаковый ноль? Может можно воспользоваться конструкцией (unsigned) -1.
-1 — имеет знаковый тип
~0u — беззнаковый тип

(unsigned) -1. — да, можно и так.
Читая тематику PVS и эту статью, раздел «Каскадирование условных операторов», прихожу к логическому умозаключнию, что копипаста блоков — это зло и лушче потратить дополнительную минуту, но переписать код руками.
Sign up to leave a comment.