gcc 대신 Clang을 사용할 수 있습니까? 그것에 대한 당신의 경험은 무엇입니까? 아직 어떤 단점이 있습니까?
컴파일 성능은 gcc보다 훨씬 뛰어나지 만 실행할 때 생성 된 코드 성능은 어떻습니까?
Linux 또는 Windows에서 실행하기에 좋은 도구 인 프론트 엔드 (IDE)가 있습니까?
편집 : 나는 C 컴파일러를 의미합니다. C ++ 아직 좋지 않습니다.
답변
업데이트 : 이제 (2013) Clang은 프라임 타임 준비가되었으며 Google과 같은 일부 회사에서 사용합니다. 그러나 Windows에서 완전히 사용할 수는 없습니다.이 플랫폼에서의 작업은 “진행중인 작업”입니다. LLVM / Clang은 현재 MacOSX / XCode의 기본 컴파일러이지만 LLVM과 정확히 동일한 릴리스는 아니므로 사소한 차이점 (주로 버전 번호의 차이)에주의하십시오.
그럼 다음 그 소리 dev에 메일 링리스트 , 최근 트렁크 버전이 성공적으로 구축되었습니다 :
- 리눅스 커널 (최신 개정판)
- Qt (특별한 빌드 프로세스도 있음)
- 크롬 (최신 개정)
따라서, 다가오는 버전 (2.9)은 좋은 “프라임 타임 준비”컴파일러라고 말할 수 있습니다.
그러나 프로젝트에 계획과 예산이 있다면 아직 많이 테스트되지 않은 컴파일러를 사용하는 것은 좋지 않습니다. Clang 개발자 커뮤니티에 실험하고 피드백을 제공 할 수 있다면, 모두에게 승리입니다. 그렇지 않은 경우, gcc (최신 버전에서)와 같이 성숙하고 많이 사용되는 컴파일러를 사용하여 프로젝트에서 작업하는 동안 신뢰할 수있는 “안정적인 기반”을 확보해야합니다.
답변
글쎄, 많은 Mac OS X 응용 프로그램이 clang을 사용하여 컴파일되므로 Mac OS X에서 프라임 타임에 대비할 수 있습니다. 그러나 다른 플랫폼에서도 C 지원은 매우 견고하며 팀은 C ++ 지원을 통해 큰 발전을 이루었습니다.
일반적으로 clang 은 gcc보다 코드를 더 빨리 컴파일 하지만 gcc는 더 최적화 된 코드를 생성합니다. (이것이 사실이 아닌 경우가 있지만 일반적으로 현재 상태입니다.)
답변
실제로 필요한 경우가 아니라면 특정 컴파일러에 의존해서는 안됩니다. 따라서 Makefile 또는 다른 것에서 컴파일러를 변경할 수 있어야하며 모든 것이 잘 작동합니다.
여기서는 장난감 프로젝트에 주로 clang을 사용합니다. 왜냐하면 더 빠르고 중요하기 때문입니다. 오류 메시지가 너무 명확합니다. 그러나 gdb를 사용해야 할 때 gcc 및 -ggdb로 컴파일합니다. 따라서 clang은 아직 완전한 기능이 아니며 내 유일한 컴파일러가 될 수 없습니다.
(BTW : 저는 x86 젠투에 있고 프로젝트는 C와 C ++에 있습니다)
편집 : 명확히하기 위해 clang 이 더 빨리 실행됩니다 (일부 경우 훨씬 빠릅니다). 멋진 최적화에 관심이 없습니다.