diff --git a/wiki/Prog/Development/Статический анализ кода.md b/wiki/Prog/Development/Статический анализ кода.md new file mode 100644 index 0000000..7223087 --- /dev/null +++ b/wiki/Prog/Development/Статический анализ кода.md @@ -0,0 +1,104 @@ +--- +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/local/bin/cpplint;--linelength=79" path/to/source +``` + +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 +``` + +Использование: + +```sh +CLAZY_CHECKS=level2 cmake -DCMAKE_CXX_COMPILER=clazy .. +``` + + +### PVS-Studio +