【问题标题】:Suppress false positive warning for retriggering a Windows timer抑制重新触发 Windows 计时器的误报警告
【发布时间】:2016-08-02 21:40:19
【问题描述】:

我希望使用 VCL6 TTimer 对象重新触发 Windows 计时器。我通过切换Enabled 属性来做到这一点,这当然会令人困惑,但我对此添加了评论。对于 Cppcheck,我还用它的语言添加了一条评论:

m_pTimer->Enabled = false;
// die "doppelte Zuweisung" sorgt für einen Neustart des Timers
// cppcheck-suppress redundantAssignment
m_pTimer->Enabled = true;

...但这显然没有帮助,我仍然看到这种样式警告:

在旧变量被使用之前,变量“已启用”被重新分配了一个值。

我做错了什么?

【问题讨论】:

    标签: code-analysis cppcheck ttimer


    【解决方案1】:

    对于命令行版本,内联抑制必须通过命令行开关--inline-suppr 启用。详情请参考manual

    对于 GUI 版本,您必须通过首选项对话框(菜单 编辑->首选项、选项卡 常规启用内联抑制)。

    【讨论】:

    • 好点,但我使用的是 GUI 版本。我应该补充一下这个问题。如果我使用命令行版本,我会为此创建一个批处理,以确保保持开关设置。每次更新后都必须重新配置 GUI 版本,这是实际问题:在 Cppcheck 更新后我忘记再次启用内联抑制。
    • 我认为 GUI 没有得到很好的支持。我总是无法通过 GUI 实现我的配置,最后切换到命令行。虽然我很怀念能够只点击警告并直接跳转到编辑器。
    • 同时实现了warning->editor切换,我经常使用。顺便说一句:如果您将答案扩展到涵盖 GUI(也许还有一些参考链接),我会接受它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-20
    • 1970-01-01
    相关资源
    最近更新 更多