Compiling
如何禁用 g++ 顯示錯誤註釋?
編譯時,錯誤通常伴隨著冗長的一系列註釋(青色)。是否有一個 g++ 標誌來禁用它,只顯示錯誤本身?
編譯器不會為您執行此操作,但(到目前為止……)編譯器開發人員遵循從其他編譯器改編而來的長期(30 多年)約定,該約定在第一行提供基本資訊,使用**
error:
或warning:
**標記警告. 如果您為這些 grep stderr,您將看到最少的警告/錯誤資訊。grep 是一個很好的起點(“grep -n”輸出本身很有用)。這些消息遵循文件名、行號、消息的模式,這對幾種工具都是通用的。我在 vi-like-emacs 中使用了它。
最近(2014 年)gcc/g++ 開始向消息中添加“呼叫堆棧”,從而提供額外的資訊。這依賴於對預處理器的更改來跟踪可以使用選項關閉的行號(在此處
-P
註明),但這似乎沒有完全集成在抑制呼叫堆棧的形式中。使用 clang 對此無濟於事;它也可能非常冗長。gcc/g++ 開發已經添加了很多資訊,如此處所述。