Разумно ли для начала использовать Clang?[закрыто]

StackOverflow https://stackoverflow.com/questions/1478899

Вопрос

Я только начинаю работать с xcode и изучаю Objective-C & Cocoa, было бы полезно поменять компилятор в Xcode 3.2 на Clang для расширенной проверки ошибок и статического анализатора.Мне просто интересно, будут ли полезны предоставленные дополнительные услуги или мое обучение будет лучше проходить в соответствии с настройками по умолчанию?

большое спасибо

гэри

Это было полезно?

Решение

Есть несколько вариантов использования CLANG:

  1. Запустите сборку и анализ, чтобы увидеть результаты clang .

  2. В настройках проекта для получения конфигурации вы можете установить флажок "запустить статический анализатор", и CLANG будет запускаться при каждой компиляции.

  3. Вы также можете изменить компилятор с GCC 4.x на CLANG / LLVM.Это отображает больше ошибок и звуков предупреждений (одним из примеров является то, что NSLog(@"A value is %@:%@", value) предупредит вас, что вы не передаете достаточное количество параметров).

Я бы порекомендовал вариант 2 - если вы запускаете статический анализатор при каждой сборке, это не занимает намного больше времени, и вы сразу узнаете, делаете ли вы что-то странное, вместо того, чтобы исправлять кучу ошибок позже.Четкие сообщения, которые он вам дает, на самом деле представляют большую образовательную ценность, поэтому имеет смысл включить его, если вы только учитесь!

Вариант 3 полезно запускать время от времени из-за большей проверки на ошибки.Однако в настоящее время в XCode нет компилятора CLANG / LLVM для устройства iPhone, и поэтому вы можете использовать этот параметр только при компиляции для симулятора.В таком случае наилучшим подходом является создание копии конфигурации отладки (на вкладке конфигурации настроек проекта) с именем "Debug CLANG" и настройка этой конфигурации на использование компилятора CLANG / LLVM и запуск статического анализатора.Обратите внимание, что после создания новой конфигурации вам необходимо выйти из настроек, выбрать ее в качестве активной конфигурации (через выпадающий список в правом верхнем углу), а затем вернуться в настройки проекта, чтобы отредактировать значения.

Затем в повседневном использовании вы просто используете параметр "Debug" для компиляции с использованием статического анализатора и переключаетесь на "Debug CLANG", возможно, раз в неделю, чтобы посмотреть, существуют ли какие-либо более глубокие проблемы.

Другие советы

Вы можете использовать статический анализатор без использования компилятора Clang.Обычно вы не будете использовать анализатор в качестве варианта сборки по умолчанию, поскольку он немного замедляет время сборки.

Однако компилятор Clang — хороший вариант даже без учета статического анализа.Как вы заметили, у него гораздо лучший отчет об ошибках, но главное преимущество в том, что он очень быстрый, фактически в моем тестировании он почти в два раза быстрее, чем GCC.

Если вы «Создаете и анализируете» или включаете настройку «Запустить статический анализатор» в XCode, вы получаете статический анализ Clang.

Если вы не занимаетесь разработкой на C++, переход с gcc на Clang не имеет особых недостатков.Вам просто не нужно этого делать, чтобы воспользоваться преимуществами статического анализа Clang.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top