コンパイル時にエラーには長いコメントリスト(ターコイズ)が付随することがよくあります。これを無効にしてエラー自体を表示するg ++フラグはありますか?
答え1
コンパイラはこれを行いませんが(これまで...)、コンパイラ開発者は、最初の行に基本情報を提供する他のコンパイラによって採用されている長い(30年以上)規則に従います。error:
またはwarning:
警告を表示します。あなたがgrepなら標準エラーこれには最小限の警告/エラーメッセージが表示されます。
grepは良い出発点です(そして「grep -n」出力自体が便利です)。これらのメッセージは、多くのツールに共通のファイル名、行番号、およびメッセージパターンに従います。私はこれをvi-like-emacsで使用しました。ここ。
最近(2014)gcc / g ++は、追加情報を提供するためにメッセージに「呼び出しスタック」を追加し始めました。これは、オプションを使用してドラッグできる行番号を追跡するためのプリプロセッサの変更に依存します-P
(注ここ)、しかし、これは呼び出しスタックを抑制する形で完全に統合されていないようです。
clangを使うとそれほど役に立ちません。また、非常に冗長かもしれません。 gcc / g ++開発では、上記のように多くのメッセージが追加されました。ここ。
答え2
コンパイル時にエラーには長いトレース(ターコイズ)が付いています。お持ちですか?g++この機能を無効にしてエラー自体のみを表示するには、フラグを指定しますか?
次のように、古いツールとサポートされなくなったツールを使用できます。STLフィルタ。
STLに慣れていくと、解読が簡単になります。
STLとその使い方をよく理解すると、最初から多くの間違いを避けるのに役立ちます。第二に、エラーメッセージはしばしばSTLソースコードの機能を参照します。 STLがどのように実装されているかを大まかに知っていれば、エラーメッセージの内容を復号化するのに非常に役立ちます。最新バージョンg++コンパイラは、時々出力をより便利で簡潔にするために改善します。
正確に望むわけではありませんが、出力が短縮されます。
使用-fmax-エラー旗または-W 致命的なエラーオプション:
-fmax-エラー=n
エラーメッセージの最大数をnに制限します。この場合、ソースコードの処理を継続せずにGCCを終了する。 nが0(デフォルト)の場合、生成されるエラーメッセージの数に制限はありません。もし-W 致命的なエラーも指定されました。-W 致命的なエラーこのオプションを上書きします。
-W 致命的なエラー
このオプションを使用すると、コンパイラはコンパイルを続行し、追加のエラーメッセージを出力するのではなく、最初のエラーが発生した場合にコンパイルを中止します。