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 Debian
apt-get install cppcheck
Ubuntu
apt-get install cppcheck
Alpine
apk add cppcheck
Arch Arch Linux
pacman -S cppcheck
image/svg+xml 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
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