gpt4 book ai didi

c++ - 使用compile_commands.json时的cppcheck内联抑制

转载 作者:行者123 更新时间:2023-12-02 10:19:25 24 4
gpt4 key购买 nike

我正在尝试学习cppcheck,因此将其集成到示例项目的travis构建中。我通过cppcheck修复了很多问题,但是我想通过内联抑制来忽略一些误报。

a.cpp

struct A {
int i;
};

// cppcheck-suppress unusedFunction
A operator+(const A &a1, const A &a2) {
return A{a1.i + a2.i};
}

int main() {
return 0;
}

compile_commands.json
[
{
"directory": "/path/to/source",
"command": "/usr/bin/clang++-9 -std=gnu++17 -o a.o -c a.cpp",
"file": "a.cpp"
}
]

当我以 cppcheck --enable=all --inline-suppr a.cpp的形式运行cppcheck(1.82版)时,就可以了。但是,当我使用像 cppcheck --enable=all --inline-suppr --project=compile_commands.json这样的compile_commands.json文件运行它时,我得到了以下结果:
Checking a.cpp ...
[a.cpp:6]: (style) The function 'operator+' is never used.

在上述情况下,cppcheck的行为是否有任何成文的原因?如果没有,这可能是一个错误吗?

最佳答案

我认为这是1.82版中的错误,因为使用较新的版本它可以正常工作。

关于c++ - 使用compile_commands.json时的cppcheck内联抑制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60895087/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com