Scroll to navigation

CPPCHECK(1) cppcheck User Manual CPPCHECK(1)

NAME

cppcheck - Tool for static C/C++ code analysis

SYNOPSIS

cppcheck [ --append=<file>] [--check-config] [-D<id>] [ -U<id>] [--enable=<id>] [--error-exitcode=<n>] [ --errorlist] [--exitcode-suppressions=<file>] [ --file-list=<file>] [ --force] [--help] [-I<dir>] [ --includes-file=<file>] [-i<dir>] [ --inline-suppr] [-j<jobs>] [--max-configs=<limit>] [ --platform=<type>] [--quiet] [ --relative-paths=<paths>] [--report-progress] [ --rule=<rule>] [--rule-file=<file>] [ --style] [--std=<id>] [ --suppress=<spec>] [--suppressions-list=<file>] [--template='<text>'] [--verbose] [--version] [--xml] [ --xml-version=<version>]] [file or path] ...

DESCRIPTION

Cppcheck is a command-line tool that tries to detect bugs that your C/C++ compiler doesn't see. It is versatile, and can check non-standard code including various compiler extensions, inline assembly code, etc. Its internal preprocessor can handle includes, macros, and several preprocessor commands. While Cppcheck is highly configurable, you can start using it just by giving it a path to the source code.

OPTIONS

Analyze given C/C++ files for common errors.
--append=<file>
This allows you to provide information about functions by providing an implementation for these.
--check-config
Check Cppcheck configuration. The normal code analysis is disabled by this flag.
-D<id>
By default Cppcheck checks all configurations. Use -D to limit the checking. When -D is used the checking is limited to the given configuration. Example: -DDEBUG=1 -D__cplusplus
-U<id>
By default Cppcheck checks all configurations. Use '-U' to explicitly hide certain #ifdef <id> code paths from checking. Example: '-UDEBUG'
--enable=<id>
Enable additional checks. The available ids are:
all
Enable all checks
style
Check coding style
performance
Enable performance messages
portability
Enable portability messages
information
Enable information messages
unusedFunction
Check for unused functions
missingInclude
Warn if there are missing includes. For detailed information use --check-config
 
By default none of the additional checks are enabled. Several ids can be given if you separate them with commas, e.g. --enable=style,unusedFunction. See also --std
--error-exitcode=<n>
If errors are found, integer <n> is returned instead of default 0. EXIT_FAILURE is returned if arguments are not valid or if no input files are provided. Note that your operating system can modify this value, e.g. 256 can become 0.
--errorlist
Print a list of all possible error messages in XML format.
--exitcode-suppressions=<file>
Used when certain messages should be displayed but should not cause a non-zero exitcode.
--file-list=<file>
Specify the files to check in a text file. One filename per line. When file is -, the file list will be read from standard input.
-f, --force
Force checking of files that have a lot of configurations. Error is printed if such a file is found so there is no reason to use this by default. If used together with --max-ifdefs=, the last option is the one that is effective.
-h, --help
Print help text.
-I <dir>
Give path to search for include files. Give several -I parameters to give several paths. First given path is searched for contained header files first. If paths are relative to source files, this is not needed.
--includes-file=<file>
Specify directory paths to search for included header files in a text file. Add one include path per line. First given path is searched for contained header files first. If paths are relative to source files, this is not needed.
-i <dir>
Give path to ignore. Give several -i parameters to ignore several paths. Give directory name or filename with path as parameter. Directory name is matched to all parts of the path.
--inline-suppr
Enable inline suppressions. Use them by placing comments in the form: // cppcheck-suppress memleak before the line to suppress.
-j <jobs>
Start <jobs> threads to do the checking work.
--max-configs=<limit>
Maximum number of configurations to check in a file before skipping it. Default is 12. If used together with --force, the last option is the one that is effective.
--platform=<type>
Specifies platform specific types and sizes.The available platforms are:
unix32
32 bit unix variant
unix64
64 bit unix variant
win32A
32 bit Windows ASCII character encoding
win32W
32 bit Windows UNICODE character encoding
win64
64 bit Windows
 
By default the platform which was used to compile Cppcheck is used.
-q, --quiet
Only print something when there is an error.
-rp, -rp=<paths>, --relative-paths;, --relative-paths=<paths>
Use relative paths in output. When given, <paths> are used as base. You can separate multiple paths by ';'. Otherwise path where source files are searched is used. E.g. if given value is test, when checking test/test.cpp, the path in output will be test.cpp instead of test/test.cpp. The feature uses string comparison to create relative paths, so using e.g. ~ for home folder does not work. It is currently only possible to apply the base paths to files that are on a lower level in the directory tree.
--report-progress
Report progress when checking a file.
--rule=<rule>
Match regular expression to create your own checks. E.g. rule "/ 0" can be used to check division by zero.
--rule-file=<file>
Use given rule XML file. See https://sourceforge.net/projects/cppcheck/files/Articles/ for more info about the syntax.
-s, --style
Deprecated, use --enable=style
--std=<id>
Enable some standard related checks. The available options are:
posix
Checks related to POSIX-specific functionality
c99
C99 standard related checks
c++11
C++11 standard related checks
 
Example to enable more than one checks: 'cppcheck --std=c99 --std=posix file.cpp'
--suppress=<spec>
Suppress a specific warning. The format of <spec> is: [error id]:[filename]:[line]. The [filename] and [line] are optional. [error id] may be * to suppress all warnings (for a specified file or files). [filename] may contain the wildcard characters * or ?.
--suppressions-list=<file>
Suppress warnings listed in the file. Each suppression is in the format of <spec> above.
--template='<text>'
Format the error messages. E.g. '{file}:{line},{severity},{id},{message}' or '{file}({line}):({severity}) {message}'. Pre-defined templates: gcc, vs
-v, --verbose
More detailed error reports
--version
Print out version information
--xml
Write results in XML to error stream
--xml-version=<version>
Select the XML file version. Currently versions 1 and 2 are available. The default version is 1.

AUTHOR

The program was written by Daniel Marjamäki and Cppcheck team. See AUTHORS file for list of team members.

SEE ALSO

Full list of features: http://cppcheck.wiki.sourceforge.net/

AUTHOR

Reijo Tomperi <aggro80@users.sourceforge.net>
Wrote this manpage for the Debian system.

COPYRIGHT

Copyright © 2009 - 2012 Reijo Tomperi
 
This manual page was written for the Debian system (but may be used by others).
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 3 or (at your option) any later version published by the Free Software Foundation.
On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL-3.
 
04/16/2012 cppcheck