# clang++

> C++ 소스 파일을 컴파일.
> LLVM의 일부.
> 더 많은 정보: <https://clang.llvm.org/docs/UsersManual.html#command-line-options>.

- 여러 소스 파일을 하나의 실행 파일로 컴파일:

`clang++ {{경로/대상/소스파일1.cpp 경로/대상/소스파일2.cpp ...}} {{[-o|--output]}} {{경로/대상/결과_실행파일}}`

- 모든 오류 및 경고 출력 활성화:

`clang++ {{경로/대상/소스파일.cpp}} -Wall {{[-o|--output]}} {{결과_실행파일}}`

- 일반적인 경고 표시, 디버그 심볼 포함, 디버깅에 영향을 주지 않는 최적화 적용:

`clang++ {{경로/대상/소스파일.cpp}} -Wall {{[-g|--debug]}} -Og {{[-o|--output]}} {{경로/대상/결과_실행파일}}`

- 컴파일에 사용할 언어 표준 지정:

`clang++ {{경로/대상/소스파일.cpp}} -std={{c++20}} {{[-o|--output]}} {{경로/대상/결과_실행파일}}`

- 다른 경로에 있는 헤더 및 라이브러리 포함:

`clang++ {{경로/대상/소스파일.cpp}} {{[-o|--output]}} {{경로/대상/결과_실행파일}} -I{{경로/대상/헤더_경로}} -L{{경로/대상/라이브러리_경로}} -l{{경로/대상/라이브러리_이름}}`

- 소스 코드를 LLVM 중간 표현(IR)으로 컴파일:

`clang++ {{[-S|--assemble]}} -emit-llvm {{경로/대상/소스파일.cpp}} {{[-o|--output]}} {{경로/대상/결과파일.ll}}`

- 성능 최적화를 적용해 컴파일:

`clang++ {{경로/대상/소스파일.cpp}} -O{{1|2|3|fast}} {{[-o|--output]}} {{경로/대상/결과_실행파일}}`

- 버전 정보 표시:

`clang++ --version`
