Sodamhan.com

TL;DR

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: https://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

This document was created using the contents of the tldr project.