• ベストアンサー

C/C++の文法チェックツール

現在C++であるソフトを作成中なのですが、コンパイルに非常に時間がかかるため単純な文法ミスでも長いコンパイル時間を経てエラーが検出され、その単純な文法ミスのためにまた長いコンパイルをし直すという非効率な状況です。 質問ですが、コンパイルする前に簡易的にC++の文法チェックを行いたいのですが、何か良いツール、一般的に使われているツールなどを紹介いただきませんでしょうか? OSはWindowsXPです。 よろしくお願いいたします。

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

  • ベストアンサー
  • jacta
  • ベストアンサー率26% (845/3158)
回答No.4

おそらく、コーディングを行っている担当者が、C++の文法を正しく理解していないのではないでしょうか? 文法を正しく理解していれば、そうそう文法ミスでエラーになることはありません。もちろん、人間のやることですからときどきケアレスミスは発生しますが、我慢できないほど非効率になることはないはずです。 ところで、C++のコンパイルで一番時間がかかるのはテンプレートです。しかし、テンプレートの場合には、文法チェックを行うだけでもかなりの時間がかかります(意味は無視で、純粋な構文チェックだけならそうでもないでしょうが...)。 テンプレートを除けば、おそらく一番時間がかかるのはリンクですので、エラーが発生したファイルだけをコンパイルしなおすのも一つの手です。 また、ソース間の依存関係をなるべく少なくする工夫も必要でしょう。

jimihenn
質問者

お礼

ありがとうございます。 まさにテンプレートを使用しております。 おそらく時間がかかるのはこれが原因だったわけですね。

その他の回答 (3)

  • don_go
  • ベストアンサー率31% (336/1059)
回答No.3

ファイルやモジュールのサイズやが大きくなっていませんか? makeを使って分割コンパイルしようとしてもファイルサイズが 大きいと意味がなくなります。 ファイルが大きいようであるなら、適度な大きさにファイルを 分割して下さい。 #モジュール単位で分割コンパイル及びモジュールテストを行い #最後に結合するという方法も有ります。 単純ミスを1つ見付けたなら、同様なミスをしていないか探す 事も重要な事です。(デバッグ時も同様) 頻繁に同様なミスが見付かる様であればソースリスト(新規 作成・修正部分)を最初から見直した方が却って効率が良く なるかも? #文法チェック等をツールまかせにしているとコーディング #能力も上がりません。

  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.2

★オプションを確認しましょう。 >コンパイルする前に簡易的にC++の文法チェックを行いたいのですが  ↑  文法チェックだけを行えるオプションがありませんか?  どのコンパイラ(処理系)を使っているか分かりませんが、  コンパイラのオプションで文法チェックだけを行える場合は  それを指定してやります。これが一般的なツールです。  マニュアルなどでオプションを確認して下さい。

jimihenn
質問者

お礼

ありがとうございます。 オプションも調べてみます。

回答No.1

コンパイルに非常に時間がかかる、というのが問題だと思うのですが、 makeとかbuildとか、前回コンパイル時との差分だけをコンパイルするということは行っているのでしょうか? また、 Eclipse CDT http://monoist.atmarkit.co.jp/fembedded/articles/eclipseccplusplus/02/eclipseccplusplus02a.html とか、 Visual C++ (の express edition) http://www.microsoft.com/japan/msdn/vstudio/express/ とか を試してみるのはどうでしょう?

jimihenn
質問者

お礼

ありがとうございます。 一応差分だけをコンパイルするようにしてます。

関連するQ&A