2.7 KiB
2.7 KiB
title, category, tags, summary
title | category | tags | summary |
---|---|---|---|
Статический анализ кода | Программирование | программирование, отладка, cppcheck, iwyu, clang-tidy, cpplint, clazy, |
Checks: '-, clang-diagnostic-, readability-, modernize-, cppcoreguidelines-, google-, bugprone-*' CheckOptions:
- key: readability-identifier-naming.ClassCase value: CamelCase
- key: readability-identifier-naming.ClassMemberCase value: camelBack ...
Пример файла `.clang-tidy`, в котором перечислены все правила для проверки
именования идентификаторов приведён [здесь](https://git.246060.ru/f1x1t/clang-tidy-readability-identifier-naming).
### CppCheck
Установка:
```sh
sudo apt-get install cppcheck
Использование:
cmake "-DCMAKE_CXX_CPPCHECK=/usr/bin/cppcheck;--std=c++11" path/to/source
This will run /usr/bin/cppcheck;–std=c++11″ –source=/path/to/source/file.cxx on each c++ file in the project being built.
CppLint
Установка:
sudo apt-get install python3-cpplint
Использование:
cmake "-DCMAKE_CXX_CPPLINT=/usr/bin/cpplint;--linelength=79" path/to/source
make -j24 2>&1 1>/dev/null | ../cpplint2tasks.pl > 222.tasks
This will run /usr/local/bin/cpplint –linelength=79 on each c++ file in the project being built.
IWYU
Установка:
sudo apt-get install iwyu
Использование:
cmake "-DCMAKE_CXX_INCLUDE_WHAT_YOU_USE=/usr/bin/iwyu;--transitive_includes_only" ..
This will run /usr/bin/iwyu –transitive_includes_only on each c++ file in the project being built.
LWYU
cmake -DCMAKE_LINK_WHAT_YOU_USE=TRUE ..
Clazy
Установка:
sudo apt-get install clazy clang-6.0
Использование:
CLAZY_CHECKS=level2 cmake -DCMAKE_CXX_COMPILER=clazy ..
CLANGXX=clang++-6.0 make