Cppcheck를 C++ 코드의 정적 코드 분석에 사용하고 싶습니다. 나는 --inline-suppr
명령으로 어떤 종류의 경고를 억제 할 수 있다는 것을 배웠다. cppcheck 도움말에 따르면C++ 코드에 cppcheck의 인라인 억제 필터 옵션을 사용하는 방법은 무엇입니까?
// cppcheck-suppress "suppressed_error_id"
Cppcheck를 C++ 코드의 정적 코드 분석에 사용하고 싶습니다. 나는 --inline-suppr
명령으로 어떤 종류의 경고를 억제 할 수 있다는 것을 배웠다. cppcheck 도움말에 따르면C++ 코드에 cppcheck의 인라인 억제 필터 옵션을 사용하는 방법은 무엇입니까?
// cppcheck-suppress "suppressed_error_id"
: 그러나, 나는 "suppressed_error_id"나는 코멘트에 넣어해야 찾을 수없는
오류 ID는 이 억제하려는 ID입니다 . 을 얻는 가장 쉬운 방법은 --xml 명령 줄 플래그를 사용하는 것입니다. xml 출력의 id 문자열을 복사하여 붙여 넣으십시오.
따라서 --xml
플래그가있는 오류가 포함 된 일부 코드에 대해 cppcheck을 실행 한 다음 생성 된 XML 파일에서 이름을 찾습니다.
안녕하세요, 빠른 답변에 감사드립니다. 그러나 팁은 -suppression 옵션에 대해 작동하지만 별도의 파일에 넣습니다. 나는이 코드를 사용하여 지금까지 행운을 빌지 않고 내 코드에서 똑같은 것을 얻으려고했다. 아마, ID는 OK이고 문제는 다른 곳에 있습니다. – Blaise
@btz 어떻게하면 cppcheck이 코드 주석에 명령 줄 스위치를 넣을 수 있다고 생각합니까? –
./cppcheck --help 및 saw --inline-suppr 옵션을 실행합니다. --inline-suppr 인라인 억압을 활성화합니다. 억압을 경고하기 전에 //에 cppcheck-memleak를 줄에 하나 이상의 주석을 달아 주석을 사용하십시오. -inline-suppr을 사용하여 cppcheck를 실행하여 코드를 xml 출력 양식으로 사용하려고 시도했지만 나에게 적합하지 않습니다. – Blaise
명령 줄에서 오류 ID를 표시하도록 출력 템플릿을 변경할 수 있습니다. 이는 매우 깔끔합니다. 표시 오류 ID와 비주얼 스튜디오 형식으로 출력
, 명령 줄이 추가 :s:\src\jpeg.cpp(123): error (bufferAccessOutOfBounds): Buffer access out-of-bounds: abRY
당신이 그때까지 억제 할 수
--template "{file}({line}): {severity} ({id}): {message}"
이이 같은 출력 뭔가를 생성합니다 줄을 추가하십시오 :
// cppcheck-suppress bufferAccessOutOfBounds
원본 파일의 이전 줄로.
cppcheck man page에 따르면 --template
옵션을 사용하여 기본 출력을 변경하여 id를 포함하도록 할 수 있습니다 (예 :
cppcheck /the/src/file --template='{file}:{line},{severity},{id},{message}'
오류 ID 주위에 따옴표를 넣을 수 없습니다. 예 : // cppcheck-suppress noExplicitConstructor –