電子書籍の厳選無料作品が豊富!

現在C++であるソフトを作成中なのですが、コンパイルに非常に時間がかかるため単純な文法ミスでも長いコンパイル時間を経てエラーが検出され、その単純な文法ミスのためにまた長いコンパイルをし直すという非効率な状況です。

質問ですが、コンパイルする前に簡易的にC++の文法チェックを行いたいのですが、何か良いツール、一般的に使われているツールなどを紹介いただきませんでしょうか?
OSはWindowsXPです。

よろしくお願いいたします。

A 回答 (4件)

おそらく、コーディングを行っている担当者が、C++の文法を正しく理解していないのではないでしょうか? 文法を正しく理解していれば、そうそう文法ミスでエラーになることはありません。

もちろん、人間のやることですからときどきケアレスミスは発生しますが、我慢できないほど非効率になることはないはずです。

ところで、C++のコンパイルで一番時間がかかるのはテンプレートです。しかし、テンプレートの場合には、文法チェックを行うだけでもかなりの時間がかかります(意味は無視で、純粋な構文チェックだけならそうでもないでしょうが...)。
テンプレートを除けば、おそらく一番時間がかかるのはリンクですので、エラーが発生したファイルだけをコンパイルしなおすのも一つの手です。
また、ソース間の依存関係をなるべく少なくする工夫も必要でしょう。
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/02/25 00:51

ファイルやモジュールのサイズやが大きくなっていませんか?


makeを使って分割コンパイルしようとしてもファイルサイズが
大きいと意味がなくなります。
ファイルが大きいようであるなら、適度な大きさにファイルを
分割して下さい。
#モジュール単位で分割コンパイル及びモジュールテストを行い
#最後に結合するという方法も有ります。

単純ミスを1つ見付けたなら、同様なミスをしていないか探す
事も重要な事です。(デバッグ時も同様)
頻繁に同様なミスが見付かる様であればソースリスト(新規
作成・修正部分)を最初から見直した方が却って効率が良く
なるかも?
#文法チェック等をツールまかせにしているとコーディング
#能力も上がりません。
    • good
    • 0

★オプションを確認しましょう。


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

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

お礼日時:2008/02/25 00:49

コンパイルに非常に時間がかかる、というのが問題だと思うのですが、


makeとかbuildとか、前回コンパイル時との差分だけをコンパイルするということは行っているのでしょうか?

また、
Eclipse CDT
http://monoist.atmarkit.co.jp/fembedded/articles …
とか、
Visual C++ (の express edition)
http://www.microsoft.com/japan/msdn/vstudio/expr …
とか
を試してみるのはどうでしょう?
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/02/25 00:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!