How to use cppcheck's inline suppression filter option for C++ code?

前端 未结 4 1948
爱一瞬间的悲伤
爱一瞬间的悲伤 2020-12-30 22:35

I would like to use Cppcheck for static code analysis of my C++ code. I learned that I can suppress some kind of warnings with --inline-suppr command. However,

相关标签:
4条回答
  • 2020-12-30 23:15

    You can change the output template to display the error id from the command line, which is quite neat.

    For a Visual Studio format output with error id displayed, add this to your command line:

    --template "{file}({line}): {severity} ({id}): {message}"
    

    This will produce output something like this:

    s:\src\jpeg.cpp(123): error (bufferAccessOutOfBounds): Buffer access out-of-bounds: abRY
    

    Which you can then suppress by adding the line:

    // cppcheck-suppress bufferAccessOutOfBounds
    

    To the previous line in the source file.

    0 讨论(0)
  • 2020-12-30 23:19

    According to the cppcheck help:

    The error id is the id that you want to suppress. The easiest way to get it is to use the --xml command line flag. Copy and paste the id string from the xml output.

    So run cppcheck against some code that contains the error with the --xml flag, and then look in the generated XML file to find its name.

    0 讨论(0)
  • 2020-12-30 23:22

    According to the cppcheck man page, you can use the --template option to change the default output to include the id, e.g.

    cppcheck /the/src/file --template='{file}:{line},{severity},{id},{message}'
    
    0 讨论(0)
  • 2020-12-30 23:34

    If you're using the GUI, you can right click on the message that you want to suppress to pop up a menu. Select "Copy message id". Paste the message id into your code in place of "suppressed_error_id".

    0 讨论(0)
提交回复
热议问题