cppcheck,内联抑制如何与 misra 插件一起使用
cppcheck, how inline-suppression works with misra add-on
我尝试使用 CppCheck 和 misra 插件进行内联抑制:
我的例子:
// /* Send number of data */
生成错误:
"misra-c2012-3.1" severity="style" msg="The character sequences /* and
// shall not be used within a comment"
但如果我尝试过
// cppcheck-suppress misra-c2012-3.1
// /* Send number of data */
我总是出错。
我尝试了关于 Id 的不同语法:
- misra-c2012-3.1
- misra_c2012_3.1
- misra_3.1
- misra-3.1
每次都会出现错误。
我使用选项 --inline-suppr
您似乎发现了一个错误。
你的方法对我来说是正确的。
对于以下 C 代码(在文件 misra_suppression_test.c 中)抑制有效:
// cppcheck-suppress misra-c2012-2.7
void misra_2_7_unused_param (int *param1, int unused_param)
{
*param1 = 42U;
}
没有 --inline-suppr
违规报告:
$ ./cppcheck --enable=style --addon=misra misra_suppression_test.c
Checking misra_suppression_test.c ...
misra_suppression_test.c:2:6: style: misra violation (use --rule-texts=<file> to get proper output) [misra-c2012-2.7]
void misra_2_7_unused_param (int *param1, int unused_param)
^
--inline-suppr
不再报告违规:
$ ./cppcheck --enable=style --addon=misra --inline-suppr misra_suprpession_test.c
Checking misra_suppression_test.c ...
似乎抑制对规则 3.1 左右不起作用。
我尝试使用 CppCheck 和 misra 插件进行内联抑制:
我的例子:
// /* Send number of data */
生成错误:
"misra-c2012-3.1" severity="style" msg="The character sequences /* and // shall not be used within a comment"
但如果我尝试过
// cppcheck-suppress misra-c2012-3.1
// /* Send number of data */
我总是出错。 我尝试了关于 Id 的不同语法:
- misra-c2012-3.1
- misra_c2012_3.1
- misra_3.1
- misra-3.1
每次都会出现错误。
我使用选项 --inline-suppr
您似乎发现了一个错误。 你的方法对我来说是正确的。
对于以下 C 代码(在文件 misra_suppression_test.c 中)抑制有效:
// cppcheck-suppress misra-c2012-2.7
void misra_2_7_unused_param (int *param1, int unused_param)
{
*param1 = 42U;
}
没有 --inline-suppr
违规报告:
$ ./cppcheck --enable=style --addon=misra misra_suppression_test.c
Checking misra_suppression_test.c ...
misra_suppression_test.c:2:6: style: misra violation (use --rule-texts=<file> to get proper output) [misra-c2012-2.7]
void misra_2_7_unused_param (int *param1, int unused_param)
^
--inline-suppr
不再报告违规:
$ ./cppcheck --enable=style --addon=misra --inline-suppr misra_suprpession_test.c
Checking misra_suppression_test.c ...
似乎抑制对规则 3.1 左右不起作用。