dsp-site/wiki/Prog/Development/Статический анализ кода.md
2019-04-24 16:57:04 +03:00

111 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "Статический анализ кода"
category: Программирование
tags: программирование, отладка, cppcheck, iwyu, clang-tidy, cpplint, clazy,
summary:
...
## Общее описание
### clang-tidy
Установка:
```sh
sudo apt-get install clang-tidy-6.0
```
Использование:
```sh
cmake "-DCMAKE_CXX_CLANG_TIDY=/usr/bin/clang-tidy-6.0;-checks=*" path/to/source
```
This will run `/usr/bin/clang-tidy-6.0 -checks=*` on each of the C++ source files in the project being built.
### CppCheck
Установка:
```sh
sudo apt-get install cppcheck
```
Использование:
```sh
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
Установка:
```sh
sudo apt-get install python3-cpplint
```
Использование:
```sh
cmake "-DCMAKE_CXX_CPPLINT=/usr/bin/cpplint;--linelength=79" path/to/source
```
```sh
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
Установка:
```sh
sudo apt-get install iwyu
```
Использование:
```sh
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
```sh
cmake -DCMAKE_LINK_WHAT_YOU_USE=TRUE ..
```
### Clazy
Установка:
```sh
sudo apt-get install clazy clang-6.0
```
Использование:
```sh
CLAZY_CHECKS=level2 cmake -DCMAKE_CXX_COMPILER=clazy ..
CLANGXX=clang++-6.0 make
```
### PVS-Studio