원문 : clang.llvm.org/extra/clang-tidy/
사용법 : clang-tidy [옵션] <source0> [... <sourceN>]
옵션 :
--help -사용 가능한 옵션 표시 (--help-hidden for more)
--help-list -사용 가능한 옵션 목록 표시 (--help-list-hidden for more)
--version -이 프로그램의 버전을 표시합니다.
clang-tidy 옵션 :
--checks = <string>
선택적인 '-' 접두사가 있는 쉼표로 구분된 glob 목록.
Glob은 목록에 나타나는 순서대로 처리됩니다.
'-' 접두사가없는 Glob은 집합에 이름이 일치하는 검사를 추가하고 '-'접두사가있는 Glob은 활성화 된 검사 집합에서 이름이 일치하는 검사를 제거합니다.
이 옵션의 값은 .clang-tidy 파일의 'Checks'옵션 값 (있는 경우)에 추가됩니다.
--config = <string>
YAML / JSON 형식으로 구성을 지정합니다.
-config = "{Checks : '*', CheckOptions : [{key : x, value : y}]}"
값이 비어있는 경우 clang -tidy는 상위 디렉토리의 각 소스 파일에 대해 .clang-tidy라는 파일을 찾으려고 시도합니다.
--dump-config
YAML 형식의 구성을 stdout으로 덤프합니다.
이 옵션은 파일 이름과 함께 사용할 수 있습니다.
(만약 파일이 구성된 컴파일 데이터베이스가 있는 프로젝트 외부에 있는 경우 '--').
이 파일에 사용된 구성으로 인쇄됩니다.
모든 검사의 구성을 포함하려면 -checks = *와 함께 사용하십시오.
--enable-check-profile
검사 별 타이밍 프로파일을 활성화하고 보고서를 stderr로 인쇄합니다.
--explain-config
활성화 된 각 검사에 대해 활성화 된 위치 (예 : clang-tidy 바이너리, 명령 줄 또는 특정 구성 파일)에 대해 설명합니다.
--export-fixes = <filename>
제안 된 수정 사항을 저장할 YAML 파일.
저장된 수정 사항은 clang-apply-replacements를 사용하여 입력 소스 코드에 적용 할 수 있습니다.
--extra-arg = <string>
컴파일러 명령 줄에 추가할 추가 인수.
여러 번 사용할 수 있습니다.
--extra-arg-before = <string>
컴파일러 명령 줄 앞에 추가 할 추가 인수.
여러 번 사용할 수 있습니다.
--fix
제안된 수정 사항을 적용합니다.
-fix-errors없이 clang-tidy는 컴파일 오류가 발견되면 구제 조치됩니다.
--fix-errors
컴파일 오류가 발견 된 경우에도 제안 된 수정 사항을 적용합니다.
컴파일러 오류에 수정 사항이 첨부 된 경우 clang-tidy도 이를 적용합니다.
--format-style = <string>
적용된 수정 사항 주변의 코드 서식 지정 스타일 :
- 'none' : (기본값)은 서식을 끕니다.
- 'file' : (문자 그대로 'file', 자리 표시자가 아님)는 가장 가까운 상위 디렉토리에있는 .clang 형식 파일을 사용합니다.
- '{<json>}' : 은 옵션을 인라인으로 지정합니다. - format-style = '{BasedOnStyle : llvm, IndentWidth : 8}'
- 'llvm', 'google', 'webkit', 'mozilla'
형식 지정 스타일 및 옵션에 대한 최신 정보는 clang-format 문서를 참조하십시오.
이 옵션은 .clang-tidy 파일의 'FormatStyle'옵션을 재정의합니다.
--header-filter = <string>
진단을 출력 할 헤더 이름과 일치하는 정규 표현식입니다.
각 번역 단위의 기본 파일에서 진단이 항상 표시됩니다.
-line-filter와 함께 사용할 수 있습니다.
이 옵션은 .clang-tidy 파일의 'HeaderFilterRegex'옵션을 재정의합니다 (있는 경우).
--line-filter = <string>
경고를 필터링 할 줄 범위가있는 파일 목록입니다.
-header-filter와 함께 사용할 수 있습니다.
목록의 형식은 객체의 JSON 배열입니다.
[{"name" : "file1.cpp", "lines" : [[1,3],[5,7]]}, {"name":"file2.h"}]
-p = <string>
빌드 경로 (*주 : '-' 한개인거 오타 아님)
--quiet
자동 모드에서 clang-tidy를 실행합니다.
이렇게하면 무시 된 경고 및 각 옵션이 지정된 경우 오류로 취급되는 경고에 대한 통계 인쇄가 억제됩니다.
--store-check-profile = <prefix>
기본적으로 보고서는 표 형식으로 stderr에 인쇄됩니다.
이 옵션이 전달되면 이러한 TU 별 프로필이 대신 JSON으로 저장됩니다.
--system-headers
시스템 헤더의 오류를 표시합니다.
--vfsoverlay = <파일 이름>
실제 파일 시스템 위에 파일로 설명 된 가상 파일 시스템을 오버레이합니다.
--warnings-as-errors = <string>
경고를 오류로 업그레이드합니다. '-checks'와 같은 형식입니다.
이 옵션의 값은 .clang-tidy 파일의 'WarningsAsErrors'옵션 값 (있는 경우)에 추가됩니다.
-p <build-path>는 컴파일 명령 데이터베이스를 읽는 데 사용됩니다.
예를 들어 compile_commands.json이라는 파일이 있는 CMake 빌드 디렉터리 일 수 있습니다.
(이 출력을 얻으려면 -DCMAKE_EXPORT_COMPILE_COMMANDS = ON CMake 옵션 사용).
빌드 경로가 지정되지 않으면 첫 번째 입력 파일의 모든 상위 경로를 통해 compile_commands.json 검색이 시도됩니다.
소스 트리에서 Clang Tooling을 설정하는 예제는 clang.llvm.org/docs/HowToSetupToolingForLLVM.html을 참조하십시오.
<source0> ...
소스 파일의 경로를 지정합니다.
이러한 경로는 컴파일 명령 데이터베이스에서 조회됩니다.
파일의 경로가 절대적이면 CMake의 소스 트리를 가리켜야합니다.
경로가 상대적인 경우, 현재 작업 디렉터리는 CMake 소스 트리에 있어야하며 파일은 현재 작업 디렉터리의 하위 디렉터리에 있어야합니다.
상대 파일의 "./"접두사는 자동으로 제거되지만, 나머지 상대 경로는 컴파일 명령 데이터베이스에있는 경로의 접미사여야합니다.
구성 파일 :
clang-tidy는 소스 파일의 가장 가까운 상위 디렉토리에있는 .clang-tidy 파일에서 각 소스 파일의 구성을 읽으려고 시도합니다.
구성 파일에서 InheritParentConfig가 true이면 부모 디렉터리 (존재하는 경우)의 구성 파일을 가져오고 현재 구성 파일이 부모 디렉터리 위에 적용됩니다.
구성 옵션에 해당하는 명령 줄 옵션이있는 경우 명령 줄 옵션이 우선합니다.
-dump-config를 사용하여 효과적인 구성을 검사 할 수 있습니다.
(*주: 구글 번역 후에 리터칭 했습니다.)
추가:
-I, -D 등 -- 뒤에 사용하는 명령어는 다음 링크를 참조하세요.
clang.llvm.org/docs/ClangCommandLineReference.html
'Programming > C ,C++,C#' 카테고리의 다른 글
[Tip] 디버깅이 제공되지 않는 외부 라이브러리 쓸 때 (0) | 2021.10.24 |
---|---|
[WinSocket] 소켓을 이용한 접속 (0) | 2019.12.23 |
[C++] 예외처리 try catch, 사용자 예외 클래스 (0) | 2019.12.22 |