- ベストアンサー
【C++】使わないinclude
(1)使わないincludeをチェックしたいです。 (できれば前方宣言しているclassも) visual studioを使っていますが、 visual studioではなく、ツールでもいいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
まず、全てコメントにしてコンパイルしてみたら? エラーが出たらメッセージに従ってコメントを外していけばわかるよね。 まぁ、コンパイルして実行形式にしたら不要な部分は削除されてしまうので、 気にすることもないですけどね。
その他の回答 (2)
静的解析ツールの仕事だと思いますが,C++test や Rational Software Analyzer といったソフトには,使わない include を検出してくれる機能はなさそうですね. AdLintは未使用のincludeもチェックしてくれますが,これはC言語用のツールでC++には使えませんし... あるいはQAC++なら可能かもしれませんが,このソフトは試したことがありません. 結局,No.1 さんのいうように地道にコメントアウトしてコンパイルしてみる事が近道かもしれませんね. http://www.techmatrix.co.jp/quality/ctest/staticanalysis/index.html http://www.sra.co.jp/Rational/product/test/RSAR.html http://www.toyo.co.jp/ss/qacpp/ http://adlint.sourceforge.net/
お礼
ありがとうございます。 不要な#includeを洗い出すという目的ではなさそうですが、 C++test Rational Software Analyzer AdLint QAC++ などのツールは、色々と面白そうです。 時間があれば使ってみようと思います。
雲古ソフト作成の鉄則は、むやみやたらと、無駄なものがつめこんであって、意味不明なものが、いっぱいということですが、我が国の重層的カースト制度のデジタル土方社会では、仕事保障の為に、この鉄則を守っていることが多いようです。 で、無駄なincludeとは、その中身が、使われていない、ということですが、それを検出するために、使えるツールのひとつに、 GNU Global があります。たしか、多摩通信社とかいうところが配布してました。これは、クラス、変数の宣言をHTMLタグ付けをおこなうものです。ですから、#includeのファイル中身をひらいて、HTMLタグ付されていないなら、それは、そのソフトの中で、全然、使われてない変数、クラスとわかるわけです。 #include ファイルをとおして、全然タグづけされているものがないなら、その#include は、要らないでしょう。 ということで、雲古ソフト対策に、この方法は、結構使えると思います。
お礼
ありがとうございます。 GNU Global、多摩通信社ですか。 面白そうなソフトですが、 出力結果を確認するという意味では、 #include のコメントアウトでも同じそうなので、 地道に#include のコメントアウトの方が良さそうです。
お礼
ありがとうございます。 もっと楽な方法がないかなと思っていたのですが、 コメントアウト&コンパイルでも、 そこまで手間ではないのかもしれません。