cppcheck
A static analysis tool for C/C++ code. Instead of syntax errors, it focuses on the types of bugs that compilers normally do not detect. More information: <http://cppcheck.sourceforge.net>.
Install
- All systems
-
curl cmd.cat/cppcheck.sh
- Debian
-
apt-get install cppcheck
- Ubuntu
-
apt-get install cppcheck
- Alpine
-
apk add cppcheck
- Arch Linux
-
pacman -S cppcheck
- Kali Linux
-
apt-get install cppcheck
- Fedora
-
dnf install cppcheck
- Windows (WSL2)
-
sudo apt-get update
sudo apt-get install cppcheck
- OS X
-
brew install cppcheck
- Raspbian
-
apt-get install cppcheck
- Dockerfile
- dockerfile.run/cppcheck
- Docker
-
docker run cmd.cat/cppcheck cppcheck
powered by Commando
A static analysis tool for C/C++ code. Instead of syntax errors, it focuses on the types of bugs that compilers normally do not detect. More information: <http://cppcheck.sourceforge.net>.
-
Recursively check the current directory, showing progress on the screen and logging error messages to a file:
cppcheck . 2> cppcheck.log
-
Recursively check a given directory, and don't print progress messages:
cppcheck --quiet path/to/directory
-
Check a given file, specifying which tests to perform (by default only errors are shown):
cppcheck --enable=error|warning|style|performance|portability|information|all path/to/file.cpp
-
List available tests:
cppcheck --errorlist
-
Check a given file, ignoring specific tests:
cppcheck --suppress=test_id1 --suppress=test_id2 path/to/file.cpp
-
Check the current directory, providing paths for include files located outside it (e.g. external libraries):
cppcheck -I include/directory_1 -I include/directory_2 .
-
Check a Microsoft Visual Studio project (`*.vcxproj`) or solution (`*.sln`):
cppcheck --project=path/to/project.sln
© tl;dr; authors and contributors