zoukankan      html  css  js  c++  java
  • cppcheck代码检测

    cppcheck -h
    Cppcheck - A tool for static C/C++ code analysis

    Syntax:
    cppcheck [OPTIONS] [files or paths]

    If a directory is given instead of a filename, *.cpp, *.cxx, *.cc, *.c++, *.c,
    *.tpp, and *.txx files are checked recursively from the given directory.

    Options:
    --append=<file> This allows you to provide information about functions
    by providing an implementation for them.
    --check-config Check cppcheck configuration. The normal code
    analysis is disabled by this flag.
    --check-library Show information messages when library files have
    incomplete info.
    -D<ID> Define preprocessor symbol. Unless --max-configs or
    --force is used, Cppcheck will only check the given
    configuration when -D is used.
    Example: '-DDEBUG=1 -D__cplusplus'.
    -U<ID> Undefine preprocessor symbol. 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. It is recommended to only
    use --enable=all when the whole program is
    scanned, because this enables unusedFunction.
    * warning
    Enable warning messages
    * style
    Enable all coding style checks. All messages
    with the severities 'style', 'performance' and
    'portability' are enabled.
    * performance
    Enable performance messages
    * portability
    Enable portability messages
    * information
    Enable information messages
    * unusedFunction
    Check for unused functions. It is recommend
    to only enable this when the whole program is
    scanned.
    * missingInclude
    Warn if there are missing includes. For
    detailed information, use '--check-config'.
    Several ids can be given if you separate them with
    commas. See also --std
    --error-exitcode=<n> If errors are found, integer [n] is returned instead of
    the default '0'. '1' 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 the 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. Add one
    filename per line. When file is '-,' the file list will
    be read from standard input.
    -f, --force Force checking of all configurations in files. If used
    together with '--max-configs=', the last option is the
    one that is effective.
    -h, --help Print this help.
    -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.
    --include=<file>
    Force inclusion of a file before the checked file. Can
    be used for example when checking the Linux kernel,
    where autoconf.h needs to be included for every file
    compiled. Works the same way as the GCC -include
    option.
    -i <dir or file> Give a source file or source file directory to exclude
    from the check. This applies only to source files so
    header files included by source files are not matched.
    Directory name is matched to all parts of the path.
    --inconclusive Allow that Cppcheck reports even though the analysis is
    inconclusive.
    There are false positives with this option. Each result
    must be carefully investigated before you know if it is
    good or bad.
    --inline-suppr Enable inline suppressions. Use them by placing one or
    more comments, like: '// cppcheck-suppress warningId'
    on the lines before the warning to suppress.
    -j <jobs> Start [jobs] threads to do the checking simultaneously.
    --language=<language>, -x <language>
    Forces cppcheck to check all files as the given
    language. Valid values are: c, c++
    --library=<cfg>
    Use library configuration.
    --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
    -q, --quiet Only print error messages.
    -rp, --relative-paths
    -rp=<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.
    We use 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 messages while checking a file.
    --rule=<rule> Match regular expression.
    --rule-file=<file> Use given rule file. For more information, see:
    https://sourceforge.net/projects/cppcheck/files/Articles/
    --std=<id> Set standard.
    The available options are:
    * posix
    POSIX compatible code
    * c89
    C code is C89 compatible
    * c99
    C code is C99 compatible
    * c11
    C code is C11 compatible (default)
    * c++03
    C++ code is C++03 compatible
    * c++11
    C++ code is C++11 compatible (default)
    More than one --std can be used:
    'cppcheck --std=c99 --std=posix file.c'
    --suppress=<spec> Suppress warnings that match <spec>. The format of
    <spec> is:
    [error id]:[filename]:[line]
    The [filename] and [line] are optional. If [error id]
    is a wildcard '*', all error ids match.
    --suppressions-list=<file>
    Suppress warnings listed in the file. Each suppression
    is in the same format as <spec> above.
    --template='<text>' Format the error messages. E.g.
    '{file}:{line},{severity},{id},{message}' or
    '{file}({line}):({severity}) {message}' or
    '{callstack} {message}'
    Pre-defined templates: gcc, vs, edit.
    -v, --verbose Output more detailed error information.
    --version Print out version number.
    --xml Write results in xml format to error stream (stderr).
    --xml-version=<version>
    Select the XML file version. Currently versions 1 and
    2 are available. The default version is 1.
    Example usage:
    # Recursively check the current folder. Print the progress on the screen and
    # write errors to a file:
    cppcheck . 2> err.txt

    # Recursively check ../myproject/ and don't print progress:
    cppcheck --quiet ../myproject/

    # Check test.cpp, enable all checks:
    cppcheck --enable=all --inconclusive --std=posix test.cpp

    # Check f.cpp and search include files from inc1/ and inc2/:
    cppcheck -I inc1/ -I inc2/ f.cpp

    For more information:
    http://cppcheck.sourceforge.net/manual.pdf

  • 相关阅读:
    freopen
    字符
    map映射
    P3512 [POI2010]PIL-Pilots-洛谷luogu
    快读
    单调队列&单调栈
    简写
    邻接表&链式前向星
    mysql参数详解
    网络管理指南
  • 原文地址:https://www.cnblogs.com/sky-heaven/p/11018155.html
Copyright © 2011-2022 走看看