• ベストアンサー

【C++】使わないinclude

(1)使わないincludeをチェックしたいです。 (できれば前方宣言しているclassも) visual studioを使っていますが、 visual studioではなく、ツールでもいいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • maiko0318
  • ベストアンサー率21% (1483/6969)
回答No.1

まず、全てコメントにしてコンパイルしてみたら? エラーが出たらメッセージに従ってコメントを外していけばわかるよね。 まぁ、コンパイルして実行形式にしたら不要な部分は削除されてしまうので、 気にすることもないですけどね。

TeferiMage
質問者

お礼

ありがとうございます。 もっと楽な方法がないかなと思っていたのですが、 コメントアウト&コンパイルでも、 そこまで手間ではないのかもしれません。

その他の回答 (2)

noname#208507
noname#208507
回答No.3

静的解析ツールの仕事だと思いますが,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/

TeferiMage
質問者

お礼

ありがとうございます。 不要な#includeを洗い出すという目的ではなさそうですが、 C++test Rational Software Analyzer AdLint QAC++ などのツールは、色々と面白そうです。 時間があれば使ってみようと思います。

noname#190876
noname#190876
回答No.2

雲古ソフト作成の鉄則は、むやみやたらと、無駄なものがつめこんであって、意味不明なものが、いっぱいということですが、我が国の重層的カースト制度のデジタル土方社会では、仕事保障の為に、この鉄則を守っていることが多いようです。  で、無駄なincludeとは、その中身が、使われていない、ということですが、それを検出するために、使えるツールのひとつに、  GNU Global があります。たしか、多摩通信社とかいうところが配布してました。これは、クラス、変数の宣言をHTMLタグ付けをおこなうものです。ですから、#includeのファイル中身をひらいて、HTMLタグ付されていないなら、それは、そのソフトの中で、全然、使われてない変数、クラスとわかるわけです。  #include ファイルをとおして、全然タグづけされているものがないなら、その#include は、要らないでしょう。  ということで、雲古ソフト対策に、この方法は、結構使えると思います。

TeferiMage
質問者

お礼

ありがとうございます。 GNU Global、多摩通信社ですか。 面白そうなソフトですが、 出力結果を確認するという意味では、 #include のコメントアウトでも同じそうなので、 地道に#include のコメントアウトの方が良さそうです。

関連するQ&A