5 개의 오류가 발견 된 후 GNU C ++ 컴파일러에 중지하도록 지시 할 수 있습니까? 문서에서 찾을 수 없습니다.
답변:
명령 줄 옵션 은 컴파일러가 N 오류 후에 포기하도록 지시합니다 . 이 옵션은 GCC 4.6 이상에 있습니다.-fmax-errors=N
명령 줄 옵션 -Wfatal-errors
은 컴파일러가 한 번의 오류 후에 포기하도록 지시합니다 . 이 옵션은 GCC 4.0 이상에 있습니다.
두 경우 모두를 지정하지 않는 한 경고는 제한에 포함되지 않습니다 -Werror
.
-Wuninitialized
잘못된 긍정을 얻는 변수를 초기화하지 않는 것에 대해 내가 들었던 주장 은 다음과 같습니다. 그것은 죽었지 만 증명할 수없는 저장 명령에 I- 캐시를 낭비합니다. 경고를 긍정적으로 만드는 것이 변경되면 valgrind가이를 포착하기를 원합니다.
-fmax-errors
플래그를 따르지 않습니다 (arm-none-eabi-gcc 5.4.1 기준). 나는 옵션을 사용 -finstrument-functions
하고 있었고 정의되지 않은 __cyg_profile_func_enter
기능으로 인해 수백 개의 오류가 발생했습니다 .
gcc 옵션을 사용할 수 있습니다.
-fmax-errors=5
이 목적을 위해.
이러한 옵션도 환영합니다. 지금은 처음 5 개의 오류를 얻기 위해 다음 해결 방법을 사용하고 있습니다.
<make> 2>&1|grep error|head -5
당신이 왜 이것을하고 싶어하는지 물어봐야합니다. 때로는 코드에 존재하는 오류가 처음이 아니거나 처음 5 개의 오류에서 발견되는 경우도 있습니다. 때로는 그 이상이며 목록을 아래로 스크롤해야만 인식 할 수 있습니다. 더 나은 방법은 컴파일 시간에 문제가있는 경우 코드를 분할하여 더 작은 라이브러리에 배치하는 것입니다. 또는 명령 줄 화면에서 스크롤되는 것이 염려되는 경우 '>>'연산자를 사용하여 메시지를 파일로 파이프합니다.
-Werror
. 대부분의 경고는 버그가있는 코드를 나타 내기 때문에 경고는 오류 인 것처럼 처리 되어야 한다고 생각합니다 .