我刚开始使用xcode并学习Objective-C& Cocoa,将Xcode 3.2中的编译器交换为Clang以增强错误检查和静态分析器是否有用。我很好奇,如果给出的额外内容会有所帮助,还是我的学习会更好地服务于坚持默认设置?
非常感谢加里
答案 0 :(得分:3)
如果您在XCode中“构建并分析”或打开“运行静态分析器”首选项,您将获得Clang的静态分析。
如果您没有进行C ++开发,那么从gcc切换到Clang似乎没有多少缺点。您只是不需要这样做才能获得Clang静态分析的好处。
答案 1 :(得分:3)
您可以在不使用实际Clang编译器的情况下使用静态分析器。通常,您不会将分析器用作默认构建选项,因为它会减慢构建时间。
然而,即使不考虑静态分析,Clang编译器也是一个不错的选择。正如你所指出的,它有更好的错误报告,但主要的优点是它非常快,实际上在我的测试中它几乎是GCC的两倍。
答案 2 :(得分:3)
使用CLANG有几个选项:
运行构建和分析,查看clang 结果
在项目设置中 配置,你可以查看 “运行静态分析器”框和CLANG 将在每次编译时运行。
您也可以更改编译器
从GCC 4.x到CLANG / LLVM。那
显示更多错误和CLANG
警告(一个例子是
NSLog(@"A value is %@:%@", value)
会警告你,你没有进去
足够的参数)。
我建议选项2 - 如果你在每次构建中运行静态分析器,它不会花费太多时间,你会发现你是否正在做一些奇怪的事情,而不是在以后修复一堆错误。它给你的明确信息实际上提供了很多教育价值,所以如果你只是学习它就更有意义!
由于更大的错误检查,选项3可以不时运行。但是,目前XCode没有用于iPhone设备的CLANG / LLVM编译器,因此在编译模拟器时只能使用该设置。最好的方法是创建名为“Debug CLANG”的调试配置(在项目设置配置选项卡中)的副本,并将该配置设置为使用CLANG / LLVM编译器并运行静态分析器。请注意,在创建新配置后,您必须退出设置,将其选为活动配置(通过右上角的下拉菜单),然后返回项目设置以编辑值。
然后在日常使用中,您只需使用“Debug”设置使用静态分析器进行编译,并且可能每周一次切换到“Debug CLANG”以查看是否存在任何更深层次的问题。