컴파일할 때 오류에는 긴 주석 목록(청록색)이 동반되는 경우가 많습니다. 이것을 비활성화하고 오류 자체를 표시하는 g++ 플래그가 있습니까?
답변1
컴파일러는 이 작업을 수행하지 않지만 (지금까지...) 컴파일러 개발자는 첫 번째 줄에 기본 정보를 제공하는 다른 컴파일러에서 채택한 오랜(30년 이상) 규칙을 따르고 있습니다.error:
또는warning:
경고를 표시합니다. 당신이 grep 경우표준 에러이에 대해서는 최소한의 경고/오류 메시지가 표시됩니다.
grep은 좋은 출발점입니다(그리고 "grep -n" 출력 자체가 유용합니다). 이러한 메시지는 많은 도구에 공통적인 파일 이름, 줄 번호 및 메시지 패턴을 따릅니다. 나는 이것을 vi-like-emacs에서 사용했습니다.여기.
최근(2014) gcc/g++는 추가 정보를 제공하기 위해 메시지에 "호출 스택"을 추가하기 시작했습니다. 이는 옵션을 사용하여 끌 수 있는 행 번호를 추적하기 위한 전처리기의 변경 사항에 의존합니다 -P
(참고여기), 그러나 이는 호출 스택을 억제하는 형태로 완전히 통합되지 않은 것 같습니다.
clang을 사용하면 그다지 도움이 되지 않습니다. 또한 매우 장황할 수도 있습니다. gcc/g++ 개발에서는 위에서 언급한 것처럼 많은 메시지가 추가되었습니다.여기.
답변2
컴파일할 때 오류에는 종종 긴 흔적(청록색)이 동반됩니다. 당신은 가지고 있습니까?g++이 기능을 비활성화하고 오류 자체만 표시하려면 플래그를 지정하시겠습니까?
다음과 같이 오래되고 더 이상 지원되지 않는 도구를 사용할 수 있습니다.STL 필터.
다음으로 전환할 수 있습니다.그 소리, 또는 오류를 보고하고 최종 컴파일을 수행하는 데 사용합니다.GNU g++.
STL에 더 익숙해지면 해독이 더 쉬워집니다.
STL과 이를 사용하는 방법을 잘 이해하면 처음부터 많은 실수를 피하는 데 도움이 됩니다. 둘째, 오류 메시지는 종종 STL 소스 코드의 기능을 참조합니다. STL이 어떻게 구현되는지 대략적으로 알고 있다면 오류 메시지의 내용을 해독하는 데 매우 도움이 될 수 있습니다. 최신 버전g++컴파일러는 때때로 출력을 더 유용하고 간결하게 만들기 위해 개선합니다.
정확히 원하는 것은 아니지만 출력이 단축됩니다.
사용-fmax-오류깃발 또는-W 치명적인 오류옵션:
-fmax-오류=n
최대 오류 메시지 수를 n으로 제한합니다. 이 경우 소스 코드 처리를 계속하지 않고 GCC가 종료됩니다. n이 0(기본값)이면 생성되는 오류 메시지 수에 제한이 없습니다. 만약에-W 치명적인 오류도 지정되었습니다.-W 치명적인 오류이 옵션보다 우선합니다.
-W 치명적인 오류
이 옵션을 사용하면 컴파일러는 계속해서 컴파일을 시도하고 추가 오류 메시지를 인쇄하는 대신 첫 번째 오류가 발생하면 컴파일을 중단합니다.