質問
私のコードは、古いコードとは異なるビットとピースの混合です。
コードをシンプルに保つために、使用されていないすべての機能を消去したいと思います。
Klocworkはツールですか?どうすればいいのですか?
ありがとう、
モシェ。
解決
使用できます -p
また -pg
のオプション gcc
プログラムが実行されたときにプロファイルデータベースが記述されるように、すべての関数のプロローグとエピローグにコードを追加します。道具 prof
からの出力を分析するために使用されます -p
と gprof
にとって -pg
. 。これらのツールは、使用された機能、コールの数、それぞれにどれだけの時間を費やしたかを示すレポートを作成します。プロファイルデータベースから未使用関数が欠落しています。
使用することもできます gcov
実際に実行されたコードの行をレポートするには。呼び出されない関数は0回実行されます。
他のヒント
Klocworkは未使用の機能/メソッドを見つけます。 My.klocwork.com(アカウントがある場合)にダウンロードできる特別なチェッカーパックがあり、これらの特別なチェッカーを提供します。
私はKlocworkに精通していませんが、 gcc
警告オプションがあります -Wunused-function
これは、ほとんどのない機能を検出します。 -Wunused-function
の一部です -Wall
.
KLOCKWORKは、非関連関数を検出しません。静的分析のみに使用されます。
このように確認できます。
foo()
{
char *a;
a = malloc(100);
}
bar()
{
char a[100];
}
main()
{
bar();
}
これはおそらく、実際には不明な機能FOOのリークを報告します。ただし、Schotが提案したように、コンパイラオプションを調べることができます。