문제

방금 Xcode 및 Learning Objective-C & Cocoa로 시작하고 있습니다. 향상된 오류 검사 및 정적 분석기를 위해 Xcode 3.2의 컴파일러를 Clang으로 바꾸는 것이 도움이 될 것입니다. 주어진 엑스트라가 도움이 될 것인지 궁금하거나 기본 설정을 고수하는 것이 더 잘 제공 될 것인지 궁금합니다.

많은 감사합니다

게리

도움이 되었습니까?

해결책

Clang을 사용하는 몇 가지 옵션이 있습니다.

  1. Clang 결과를 확인하려면 빌드 및 분석을 실행하십시오.

  2. 구성을위한 프로젝트 설정에서 "정적 분석기 실행"상자를 확인할 수 있으며 컴파일 할 때마다 Clang이 실행됩니다.

  3. 컴파일러를 GCC 4.X에서 Clang/LLVM으로 변경할 수도 있습니다. 더 많은 오류와 Clang 경고가 표시됩니다 (한 예는NSLog(@"A value is %@:%@", value)충분한 매개 변수를 통과하지 못한다고 경고 할 것입니다).

옵션 2를 권장합니다 - 각 빌드마다 정적 분석기를 실행하면 시간이 더 걸리지 않으며 나중에 많은 오류를 고치지 않고 바로 이상한 일을하고 있는지 알 수 있습니다. 그것이 당신에게 제공하는 명확한 메시지는 실제로 많은 교육적 가치를 제공하므로, 당신이 배우고 있다면 그것을 켜는 것이 더욱 합리적입니다!

옵션 3은 더 큰 오류 확인으로 인해 때때로 실행하는 것이 좋습니다. 그러나 현재 Xcode에는 iPhone 장치 용 Clang/LLVM 컴파일러가 없으므로 시뮬레이터를 위해 컴파일 할 때만 해당 설정 만 사용할 수 있습니다. 가장 좋은 방법은 "Debug Clang"이라는 디버그 구성 사본 (프로젝트 설정 구성 탭)을 작성하고 Clang/LLVM 컴파일러를 사용하고 정적 분석기를 실행하도록 구성을 설정하는 것입니다. 새 구성을 작성 한 후 설정을 중단 해야하는 경우 활성 구성으로 선택한 다음 (상단 오른쪽 드롭 다운을 통해) 프로젝트 설정으로 돌아가서 값을 편집하십시오.

그런 다음 매일 "디버그"설정을 사용하여 정적 분석기를 사용하여 컴파일하고 일주일에 한 번 "디버그 클랜"으로 전환하여 더 깊은 문제가 있는지 확인하십시오.

다른 팁

실제 Clang 컴파일러를 사용하지 않고 정적 분석기를 사용할 수 있습니다. 일반적으로 분석기를 기본 빌드 옵션으로 사용하지 않습니다.

그러나 Clang 컴파일러는 정적 분석을 고려하지 않아도 좋은 옵션입니다. 지적한대로 오류보고가 훨씬 우수하지만 주요 장점은 실제로 테스트에서 GCC보다 거의 두 배나 빠르다는 것입니다.

Xcode에서 "정적 분석기 실행"선호도를 "빌드 및 분석"하거나 켜면 Clang의 정적 분석이 나타납니다.

C ++ 개발을 수행하지 않는 경우 GCC에서 Clang으로 전환하는 데 많은 단점이없는 것으로 보입니다. Clang의 정적 분석의 이점을 얻기 위해 그렇게 할 필요는 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top