C ++で未使用の関数を検出しようとしています。現在、cppcheckを使用しようとしていますが、使用されている関数を検出できるかどうか、またはどのように検出できるかはわかりませんが、それ自体は使用されていない関数によってのみ使用されます。
これが私の小さなテストコードです:
int bla() {
return 0;
}
int test() {
return bla();
}
int main() {
int a = 0;
int b = 0;
return b;
}
これが、cppcheckが現在の設定で検出するものです。
$ cppcheck --enable=style,unusedFunction test.cpp
Checking test.cpp...
[test.cpp:10]: (style) Variable 'a' is assigned a value that is never used.
Checking usage of global functions..
[test.cpp:5]: (style) The function 'test' is never used.
問題は、テストで呼び出されたため、関数blaが未使用として検出されないことです。しかし、テストが呼び出されることはないので、どちらもblaではありません。mainで使用されている機能を除くすべての機能を未使用としてマークしてほしい。
cppcheckのオプション、またはblaを未使用として検出する別の静的コード分析ツールを知っていますか?
callcatcherhttp : //www.skynet.ie/~caolan/Packages/callcatcher.htmlを使用して独自の解決策を見つけました。これは静的なコード分析ではありませんが、私が望むように正確に機能します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加