10

未使用の関数と変数のリストをリンカ フィードバックで簡単に取得できますが、これらの未使用のマクロ定義と typedef を検出するにはどうすればよいですか? コードを 1 行ずつ参照し、プロジェクト全体で git grep を実行する必要がありますか?

4

4 に答える 4

14

ソース ファイルで定義されたマクロについては、-Wunused-macrosgcc/clang フラグを試すことができます。-Wunused-local-typedefsgccにもあります。

于 2013-05-15T09:04:36.737 に答える
7

C および C++ プログラムの静的解析ツールには、未使用のプリプロセッサ マクロのチェックが含まれている場合があります。

たとえば、PC-Lintを参照してください。

もう 1 つの可能性は、特定のインクルード ファイルに移動し#ifdef 0、マクロの大きなセクションを削除してから、一種の分割統治アルゴリズムを使用してコンパイラ エラーを確認することです。

ただし、ソース コードのサイズが大きくなるので、静的解析ツールの方がはるかに優れたアプローチになると思います。

于 2013-05-15T02:44:50.040 に答える
1

次の場所に cscout (現在はオープン ソース) があります。

https://github.com/dspinellis/cscout

未使用の「extern」、#define を検索します。

于 2015-10-05T12:14:12.303 に答える