본문 바로가기

C/C++

Clang-tiny 설치 및 사용 가이드

 

Clang-Tidy 설치 및 사용 가이드

정적 분석으로 코드 품질을 한 단계 업그레이드하기


🔧 Clang-Tidy란?

Clang-Tidy는 LLVM/Clang 기반의 정적 분석 도구로, C++ 코드를 컴파일하지 않고도 다양한 코드 품질 문제를 찾아줍니다.
Google C++ Style Guide, CERT, Boost 등 다양한 체크 그룹을 지원하며, 자동 수정(--fix) 기능까지 제공합니다.


📦 설치 방법

1. Visual Studio (Windows)

Visual Studio 2019 이상부터는 Clang-Tidy가 기본 포함되어 있습니다.

설치 방법:

  1. Visual Studio Installer 실행
  2. 개발자용 C++ 데스크톱 워크로드 선택
  3. 아래의 선택적 구성 요소에서 Clang compiler for Windows 체크
  4. 설치 완료 후 C:\Program Files\LLVM\bin에 clang-tidy.exe 존재 확인

💡 경로가 PATH에 등록되어 있지 않다면 수동 등록 필요


2. LLVM 다운로드 (CLI 용)

직접 LLVM 바이너리를 다운로드해서 사용할 수도 있습니다.

clang-tidy --version

⚙️ Clang-Tidy 설정

1. .clang-tidy 설정 파일 작성

Checks:          'modernize-*,performance-*,readability-*'
WarningsAsErrors: '*'
HeaderFilterRegex: '.*'
FormatStyle:     file
CheckOptions:
  - key:             modernize-use-nullptr.NullMacros
    value:           'NULL'

.clang-tidy 파일은 프로젝트 루트 또는 소스 코드 폴더에 위치시키면 됩니다.


🧪 사용 방법

1. Visual Studio에서 Clang-Tidy 실행

  1. 메뉴 → 분석 > 코드 분석 > 현재 프로젝트 분석
  2. 또는 속성 설정:
    • 프로젝트 속성 → C/C++ → 코드 분석 → Clang-Tidy 활성화
    • 필요한 체크 추가 가능
    •  

2. 명령어로 사용 (CLI)

clang-tidy mycode.cpp -checks=modernize-* -- -I./include
  • -- 뒤에는 컴파일 명령어에 필요한 인클루드 등 전달
  • -fix 옵션을 사용하면 자동 수정도 가능:
clang-tidy mycode.cpp -checks=modernize-* -fix -- -I./include

📄 Visual Studio에서 체크 목록 커스터마이징

  1. .clang-tidy 파일 작성 (또는 설정에서 직접 입력)
  2. Visual Studio → 프로젝트 속성 → C/C++ → Clang-Tidy 항목에서 다음과 같이 입력:
-checks=-*,modernize-use-trailing-return-type,readability-*

📝 자주 쓰는 체크 그룹

그룹 설명

modernize-* C++11 이상 스타일 적용
readability-* 가독성 향상 제안
performance-* 성능 관련 개선사항
bugprone-* 잠재적 버그 포착
cert-* CERT 보안 코딩 가이드라인 준수

✅ 마무리

Clang-Tidy는 단순한 정적 분석 도구를 넘어, 코딩 습관을 바꾸고 팀의 코드 품질을 향상시킬 수 있는 강력한 도구입니다.
특히 C++의 복잡성을 줄이고 최신 스타일을 적용하는 데 큰 도움이 됩니다.

 

이상 chat-gpt의 도움을 받아 작성 하였습니다.