2010-04-05 2 views
15

g ++/clang에 대한 초고속 "구문 검사 내 코드가 있지만 모드를 컴파일하지 않습니까?" 유일한 목표는 내가 가진 코드가 유효한 C++ 코드인지 확인하는 것입니다.g ++/clang ultra fast parse but compile mode?

답변

15

-fsyntax-only GCC의 경우, 이것은 GCC의 명령 행 옵션을 에뮬레이트하므로 Clang에서도 잘 작동합니다. 그것이 훨씬 더 빠르 든 빠르든지, 시간이 필요합니다.

+0

속도 문제는 실제로 읽기 소스 입출력, 구문 검사, 컴파일 시간 및 객체 출력 I/O에 소요되는 시간입니다. 충분한 소스가 있으면 I/O 읽기가 많은 부분을 차지할 수 있으며 구문 검사만으로는 최소한의 이득만을 볼 수 있다고 생각합니다. –

+1

@ 마크 : 제 경험상 ccache로 컴파일 된 결과를 캐싱하는 것은 거의 항상 의미가 있습니다. 그리고 C++에는 순수한 컴파일 시간이 급격히 늘어날 수있는 템플릿이 포함될 수도 있다는 것을 잊지 마십시오. –

+0

g ++에서는 코드를 파싱 만하고 인스턴스화하지 않으므로 많은 오류가 누락 될 수 있습니다. clang ++는 인스턴스화 후에 멈추고 조금 더 오래 걸릴 수 있지만 더 유용합니다. 또한, g ++ 경고 중 일부는 코드 최적화 단계에서 생성되기 때문에 그러한 오류도 놓칠 수 있습니다. –

0

cppcheck은 어떤 옵션입니까? 나는 네가 원하는 결과를 정확히 모른다. cppcheck는 순수 구문 검사가 아닙니다. 그리고 cppcheck가 빠른 enougth 인 경우에.