Отличия компилятора - PullRequest
0 голосов
/ 19 марта 2011

Я разработчик для iOS, я не знаю, как работают компиляторы, и я хочу спросить, в чем разница между LLVM GCC 4.2, компилятором по умолчанию Xcode 4 и компилятором GCC 4.2, компилятором по умолчанию Xcode 3.

1 Ответ

2 голосов
/ 20 марта 2011

Вот мое понимание

  • GCC 4.2 - это (в основном) стандартный стандартный компилятор GNU C с открытым исходным кодом, который работает с C, C ++ и Objective-C.Это в значительной степени стандартный компилятор, используемый во всех открытых источниках, и он проверен и проверен.Но поскольку его старая технология, это просто компилятор, у него нет хуков для других целей.И это довольно универсально, поскольку не зависит от процессора и платформы.

  • LLVM - это следующее поколение программного обеспечения для компиляции.Он синтаксически и семантически осведомлен, компилируется в байт-код, а затем в нативный, и предоставляет хуки, чтобы IDE и другие инструменты могли использовать его знания.Именно эта осведомленность позволяет Apple улучшать автозаполнение, внедрять исправления, выполнять сборку и анализ в Xcode 4. LLVM - это будущее Apple и будущее для GCC.LLVM также производит предположительно более жесткий код, так как его оптимизации более разумны (не уверен в этом).LLVM также допускает более динамические привязки языка в некоторый момент.

  • LLVM GCC - это промежуточная отметка, синтаксическая и семантическая предварительная обработка LLVM со старым внутренним компилятором GCC.

Способ их использования

  • Я использую LLVM во время разработки, так как он предупреждает меня о любых проблемах.Действительно помог, когда я впервые запустил его на унаследованном коде и обнаружил некоторые проблемы.

  • Я использую GCC для создания окончательного исполняемого файла для приложений iOS 3.1.3 и LLVM для всех iOSПриложения 4.0 / Mac 10.6.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...