Уже сейчас можно попробовать GCC-LLVM в Xcode 3.1, но пока оно в бете,
и у меня не работает для 32-битной x86 link-time optimization.
Пока Clang не готов, но уже есть полезная штука на его основе -- Clang/
LLVM Static Analyzer. Это статический анализатор кода, который ищет
баги.
http://clang.llvm.org/index.html
Я хотел про него написать заметку в блог, но перед этим запостил
ссылку на reddit, и его обнаружили другие fellow Mac devs и сами
написали заметки, поэтому мне не пришлось мучиться :)
http://www.rogueamoeba.com/utm/2008/07/14/the-clang-static-analyzer/
Пример отчета для Aduim:
http://trac.adiumx.com/wiki/StaticAnalysis
- Дмитрий Честных.
> а можно простым русским языком объяснить, зачем менять GCC на LLVM?
Clang+LLVM, когда будут готовы, дадут следующее:
* Компиляция в два раза быстрее.
* Улучшенные сообщения об ошибках (намного!)
* Лучшая интеграция с Xcode -- GCC под GNU лицензией, поэтому его не могут
встроить в Xcode без открытия исходников последнего под той же лицензией.
У Clang/LLVM - лицензия BSD.
* Оптимизация при линковке. По предварительным грубым оценкам, это дает до
десятка процентов улучшения скорости выходного кода.
Простым английским языком:
http://llvm.org/devmtg/2008-08/ -- слайды и видео с недавней конференции
по LLVM/Clang.
- Dmitry Chestnykh
Целый компилятор может и не надо -- но его части нужны для рефакторинга,
подсветки синтаксиса, обнаружения синтаксических ошибок сразу при вводе
кода и прочих интересных штук.
Дебаггер тоже было бы неплохо поменять -- по сравнению со всеми
остальными, которые я использовал (в винде :), gdb и его GUI в Xcode --
тормоз.
- Dmitry Chestnykh
Согласен.
В любом случае, дебаггинг - для идиотов, которые не умею писать код.
- Dmitry Chestnykh
не, без NSLog'ов не обошлось полюбому, но дебаггер и дампы стеков дали
четко понять куда их ставить. так что не надо нас, идиотов, обижать ;)
2008/8/19 Dmitry Chestnykh <dmi...@codingrobots.com>:
2008/8/18 Dmitry Chestnykh <dmi...@codingrobots.com>:
--
Thanks,
Anton
> Ога-ога. Только в чужом коде без дебаггера разбираться -- порой
> сплошное удовольствие.
Вот я и говорю.
Дебаггишь свой код, нашел баг, и говоришь: "Вот я идиот!"
Дебаггишь чудой код -- и опять -- "Ну и идиот это писал!"
:-)
- Dmitry Chestnykh
> а можно простым русским языком объяснить, зачем менять GCC на LLVM?
Кстати, диаграммки: http://clang.llvm.org/features.html#performance
- Dmitry Chestnykh
Вы писали 19 августа 2008 г., 20:23:40:
DC> On Mon, 18 Aug 2008, hellra1ser wrote:
>> а можно простым русским языком объяснить, зачем менять GCC на LLVM?
DC> Кстати, диаграммки: http://clang.llvm.org/features.html#performance
Судя вот по этому, С++ они еще не скоро доделают :-).
http://clang.llvm.org/cxx_status.html
Буду надеяться, что доделают до замены gcc на llvm.
--
С уважением,
Victor mailto:vpet...@gmail.com
>>> а можно простым русским языком объяснить, зачем менять GCC на LLVM?
>
> DC> Кстати, диаграммки: http://clang.llvm.org/features.html#performance
>
> Судя вот по этому, С++ они еще не скоро доделают :-).
> http://clang.llvm.org/cxx_status.html
>
> Буду надеяться, что доделают до замены gcc на llvm.
LLVM тут ни при чем -- она сама на C++ написана, и промежуточный код для
LLVM API -- на C++ (http://llvm.org/demo/). Уже есть фронтэнд LLVM-GCC
(поставляется с Xcode 3.1), который и C++ компилирует.
- Dmitry Chestnykh