ログ呼び出しで使用されている変数が使用されていると見なされないため、cppcheck ナットを駆動するコード フラグメントがあります。したがって、未使用の変数とスコープ縮小の警告が表示されます。
double start = GetTimeOfDayDoubleSec(), afterDb = 0;
if (LoadFromDatabase(serials)) {
afterDb = GetTimeOfDayDoubleSec();
Cache.ResetDebugFlags(serials);
}
double end = GetTimeOfDayDoubleSec();
ZLOG_INFO("DB time %f, total %f", afterDb ? afterDb - start : 0, end - start);
Cppcheck 言います:
The scope of the variable 'afterDb' can be reduced.
Variable 'afterDb' is assigned a value that is never used.
それらの両方を抑制する構文を理解できず、マニュアルは役に立ちません。区切り行、スペース、カンマ、コロン、セミコロンはすべて失敗します。別々の行で「抑制が一致しません」と表示され、残りは無効です。
//cppcheck-suppress variableScope
//cppcheck-suppress unreadVariable
//cppcheck-suppress variableScope unreadVariable
//cppcheck-suppress variableScope,unreadVariable
//cppcheck-suppress variableScope;unreadVariable
double afterDb = 0;
Failed to add suppression. Invalid id "variableScope:unreadVariable"
cppcheck でこれをインラインで実行できますか? それとも、コマンド ラインで XML を使用して実行する必要がありますか?
申し訳ありませんが、交絡する問題があることが判明しました.cppcheck-guiで「更新」を押してもすべてが更新されません.抑制の変更を更新するには、cppcheckファイルをリロードする必要があります. つまり、右側の「更新」アイコンではなく、ツールバーの「ファイルを開く」アイコンです。
スペースで区切られていることがわかります。
//cppcheck-suppress variableScope unreadVariable