clang이 요즘 뜨는건지.. 한번 해보려는데.. 흐음...
일단 귀차니즘으로.. (-_-) 라즈베리 파이에 ㅋㅋ
$ sudo apt-get install clang 패키지 목록을 읽는 중입니다... 완료 의존성 트리를 만드는 중입니다 상태 정보를 읽는 중입니다... 완료 다음 패키지를 더 설치할 것입니다: libclang-common-dev libffi-dev libllvm3.0 llvm-3.0 llvm-3.0-dev llvm-3.0-runtime 제안하는 패키지: llvm-3.0-doc 다음 새 패키지를 설치할 것입니다: clang libclang-common-dev libffi-dev libllvm3.0 llvm-3.0 llvm-3.0-dev llvm-3.0-runtime 0개 업그레이드, 7개 새로 설치, 0개 제거 및 0개 업그레이드 안 함. 24.2 M바이트 아카이브를 받아야 합니다. 이 작업 후 71.3 M바이트의 디스크 공간을 더 사용하게 됩니다. 계속 하시겠습니까 [Y/n]? 받기:1 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libllvm3.0 armhf 3.0-10 [6,778 kB] 받기:2 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libclang-common-dev armhf 1:3.0-6.2 [76.7 kB] 받기:3 http://mirrordirector.raspbian.org/raspbian/ wheezy/main clang armhf 1:3.0-6.2 [4,510 kB] 받기:4 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libffi-dev armhf 3.0.10-3+b3 [113 kB] 받기:5 http://mirrordirector.raspbian.org/raspbian/ wheezy/main llvm-3.0-runtime armhf 3.0-10 [40.7 kB] 받기:6 http://mirrordirector.raspbian.org/raspbian/ wheezy/main llvm-3.0 armhf 3.0-10 [1,215 kB] 받기:7 http://mirrordirector.raspbian.org/raspbian/ wheezy/main llvm-3.0-dev armhf 3.0-10 [11.5 MB] 내려받기 24.2 M바이트, 소요시간 17초 (1,386 k바이트/초) Selecting previously unselected package libllvm3.0:armhf. (데이터베이스 읽는중 ...현재 120356개의 파일과 디렉터리가 설치되어 있습니다.) libllvm3.0:armhf 패키지를 푸는 중입니다 (.../libllvm3.0_3.0-10_armhf.deb에서) ... Selecting previously unselected package libclang-common-dev. libclang-common-dev 패키지를 푸는 중입니다 (.../libclang-common-dev_1%3a3.0-6.2_armhf.deb에서) ... Selecting previously unselected package clang. clang 패키지를 푸는 중입니다 (.../clang_1%3a3.0-6.2_armhf.deb에서) ... Selecting previously unselected package libffi-dev:armhf. libffi-dev:armhf 패키지를 푸는 중입니다 (.../libffi-dev_3.0.10-3+b3_armhf.deb에서) ... Selecting previously unselected package llvm-3.0-runtime. llvm-3.0-runtime 패키지를 푸는 중입니다 (.../llvm-3.0-runtime_3.0-10_armhf.deb에서) ... Selecting previously unselected package llvm-3.0. llvm-3.0 패키지를 푸는 중입니다 (.../llvm-3.0_3.0-10_armhf.deb에서) ... Selecting previously unselected package llvm-3.0-dev. llvm-3.0-dev 패키지를 푸는 중입니다 (.../llvm-3.0-dev_3.0-10_armhf.deb에서) ... man-db에 대한 트리거를 처리하는 중입니다 ... install-info에 대한 트리거를 처리하는 중입니다 ... libllvm3.0:armhf (3.0-10) 설정하는 중입니다 ... libclang-common-dev (1:3.0-6.2) 설정하는 중입니다 ... clang (1:3.0-6.2) 설정하는 중입니다 ... libffi-dev:armhf (3.0.10-3+b3) 설정하는 중입니다 ... llvm-3.0-runtime (3.0-10) 설정하는 중입니다 ... llvm-3.0 (3.0-10) 설정하는 중입니다 ... llvm-3.0-dev (3.0-10) 설정하는 중입니다 ... |
$ ls -al /usr/bin/clang* -rwxr-xr-x 1 root root 10524368 10월 18 2013 /usr/bin/clang lrwxrwxrwx 1 root root 5 10월 18 2013 /usr/bin/clang++ -> clang $ ls -al /usr/bin/scan-* lrwxrwxrwx 1 root root 36 10월 18 2013 /usr/bin/scan-build -> ../share/clang/scan-build/scan-build lrwxrwxrwx 1 root root 34 10월 18 2013 /usr/bin/scan-view -> ../share/clang/scan-view/scan-view |
빌드 시간이나 바이너리 사이즈나.. clang이 우세한 듯...
$ time clang++ a.cpp real 0m2.595s user 0m2.350s sys 0m0.210s $ time g++ a.cpp real 0m3.307s user 0m2.490s sys 0m0.230s $ ls -al *.out -rwxr-xr-x 1 pi pi 6033 8월 3 07:37 clang++.out -rwxr-xr-x 1 pi pi 6492 8월 3 07:38 g++.out $ strip *.out $ ls -al *.out -rwxr-xr-x 1 pi pi 3396 8월 3 07:39 clang++.out -rwxr-xr-x 1 pi pi 3616 8월 3 07:39 g++.out |
$ scan-build clang++ a.cpp
scan-build: 'clang' executable not found in '/usr/share/clang/scan-build/bin'.
scan-build: Using 'clang' from path: /usr/bin/clang
scan-build: Removing directory '/tmp/scan-build-2015-08-03-1' because it contains no reports.
[링크 : http://web.cs.ucla.edu/~tianyi.zhang/tutorial.html]
$ clang --analyze a.cpp
[링크 : http://kthan.tistory.com/158]
'프로그램 사용 > clang' 카테고리의 다른 글
semgrep (0) | 2023.04.17 |
---|---|
cppcheck 사용 (0) | 2023.04.17 |
clang 으로 컴파일 (0) | 2015.08.03 |
llvm / clang / cppcheck (0) | 2015.02.21 |