/dev/stdout – Telegram
/dev/stdout
3.99K subscribers
18.9K photos
2.57K videos
74 files
3.15K links
cat /dev/random
Download Telegram
Forwarded from #HEX • IT
cppcheck — это проект статического анализа с открытым исходным кодом, ориентированный в первую очередь на нахождение реальных ошибок в коде с минимальным количеством ложных срабатываний.

cppcheck перестраховывается, причём планка адекватности высока. Большинство проверок cppcheck по умолчанию не включает. Среди них следующие категории проверок, каждая из которых может включаться/выключаться независимо:

error — явные ошибки, которые анализатор считает критическими и обычно они приводят к багам (включено по умолчанию);

warning — предупреждения, здесь даются сообщения о небезопасном коде;

style — стилистические ошибки, сообщения появляются в случае неаккуратного кодирования (больше похоже на рекомендации);

performance — проблемы производительности, здесь cppcheck предлагает варианты, как сделать код быстрее (но это не всегда даёт прирост производительности);

portability — ошибки совместимости, обычно связано с различным поведением компиляторов или систем разной разрядности;

information — информационные сообщения, возникающие в ходе проверки (не связаны с ошибками в коде);

unusedFunction — попытка вычислить неиспользуемые функции (мёртвый код), не умеет работать в многопоточном режиме;

missingInclude — проверка на недостающий #include (например, используем random, а подключить stdlib.h забыли).

Включаются проверки параметром --enable, список категорий проверок перечисляется через запятую.

Существует ключевое слово all, которое включает все перечисленные проверки.

Примечание. Параметры -j и режим проверки unusedFunction несовместимы, поэтому -j выключит проверку unusedFunction, даже если она указана явно.


И это ещё не всё. Если ваша программа безошибочна с точки зрения анализатора, попробуйте запустить cppcheck с параметром --inconclusive. Данный режим действительно включает все возможные проверки, даже ошибки с малой вероятностью, которые cppcheck пропускает по умолчанию.

Примеры использования:

cppcheck -q -j4 --enable=warning,style,performance,portability ./source
cppcheck -q --enable=all ./source
cppcheck -q --enable=all --inconclusive ./source
🖕43👍2🥰11
🥰3💯2🍓1
8😁6
5🤮21
😱5👎1
Forwarded from апыавы ❄️ (bleeeh)
🥰5
5
4🍓11
1337 балбесов
11👎1
This media is not supported in your browser
VIEW IN TELEGRAM
😁121
😢5😁2🤯21
8
Forwarded from /dev/fumo
💋31
Forwarded from /dev/fumo
two steps ahead
4🤯1💋1
Forwarded from lox (deltaost)
This media is not supported in your browser
VIEW IN TELEGRAM
2👍1
Forwarded from ████████████████ ██████████ (direktor 𝓯𝓻𝓮𝓪𝓴𝔂neta 3)
я иногда делаю ассемблерные вставки в docx

(с) "Чистый Код", Роберт Мартин
11
8
Forwarded from ❄️🎇НЬЯГА!🎄🎁 (Кошкин)
8