|
2.21, an. (?), 16:57, 23/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Если бы LLDB был не только под Apple.
Что Вы имеете в виду? Насколько написано в документации, он должен работать под Linux. Я собирал и запускал его (правда, сильно поизучать его не удалось из-за нехватки времени...)
| |
|
3.24, Андрей (??), 17:25, 23/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
Вот другие обещают, но не делают, а LLDB, значит, может больше, чем на главной странице:
"LLDB is known to work on the following platforms, but ports to new platforms are welcome:
Mac OS X desktop user space debugging for i386 and x86-64
iOS simulator debugging on i386
iOS device debugging on ARM"
| |
|
|
1.9, Аноним (-), 13:42, 23/05/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
"Параллельно развивающийся" проект Unladen Swallow умер 2 года назад "за ненадобностью". Где он развивается?
| |
|
2.26, Аноним (-), 17:59, 23/05/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Где он развивается?
В параллельной вселенной, разумеется. Никогда не слышали про кота Шредингера и ансамбли миров чтоли? :)
| |
|
1.11, x0r (??), 14:28, 23/05/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
clang static checker классная штука, жаль только для C, а не C++
Я им нашел ошибки в нескольких opensource проектах
| |
1.12, Trewsa (?), 15:42, 23/05/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Объясните, что такое LLVM? Это наподобие Java? Скомпилировал в байт-код и могу использовать на разных платформах с LLVM. Или это наподобия виртуальной явы машины, а clang типа jcc. Вот для примера у меня есть какой либо код написанный с использованием C++(никакого гуи только консоль). Каким образом компилировать? llvm или clang?
| |
|
2.14, Толстый (ok), 16:02, 23/05/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
Первое предложение c llvm.org:
"The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Despite its name, LLVM has little to do with traditional virtual machines, though it does provide helpful libraries that can be used to build them."
LLVM это набор библиотек для создания компиляторов, основная библиотека предоставляет универсальный бэкенд. Clang - С/C++ компилятор использующий LLVM.
| |
|
3.16, Trewsa (?), 16:08, 23/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Первое предложение c llvm.org:
> "The LLVM Project is a collection of modular and reusable compiler and
> toolchain technologies. Despite its name, LLVM has little to do with
> traditional virtual machines, though it does provide helpful libraries that can
> be used to build them."
> LLVM это набор библиотек для создания компиляторов, основная библиотека предоставляет
> универсальный бэкенд. Clang - С/C++ компилятор использующий LLVM.
Т.е. LLVM это просто библиотеки? И clang не обязательно использовать LLVM?
| |
|
4.18, Толстый (ok), 16:21, 23/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
Clang это компилятор построенный на технологиях LLVM. Для тебя это будет такой же компилятор как и GCC, только с более быстрой компиляцией и лучшими средствами диагностики.
| |
|
5.22, Trewsa (?), 17:18, 23/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Clang это компилятор построенный на технологиях LLVM. Для тебя это будет такой
> же компилятор как и GCC, только с более быстрой компиляцией и
> лучшими средствами диагностики.
Т.о. кроссплатформеность LLVM это кроссплатформенность Clang. И чтобы какое либо приложение было много платформенным необходимо компилировать clang-ом в разных ОС? Или достаточно из одной ОС компилировать с разными флагами под системы? Я все правильно понял?
| |
|
6.29, dq0s4y71 (??), 18:17, 23/05/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> И чтобы какое либо приложение было много платформенным необходимо компилировать clang-ом в разных ОС?
Чтобы какое либо приложение было кроссплатформенным, его нужно таким НАПИСАТЬ. А компилировать его можно тем, что вы выбрали для каждой отдельной платформы
| |
6.61, кевин (?), 03:44, 25/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
>> Clang это компилятор построенный на технологиях LLVM. Для тебя это будет такой
>> же компилятор как и GCC, только с более быстрой компиляцией и
>> лучшими средствами диагностики.
> Т.о. кроссплатформеность LLVM это кроссплатформенность Clang. И чтобы какое либо приложение
> было много платформенным необходимо компилировать clang-ом в разных ОС? Или достаточно
> из одной ОС компилировать с разными флагами под системы? Я все
> правильно понял?
тыц вся плюшность что кланг(и тысячи своих компиляторов) можно писать только для ллвм а уже ллвм портировать на новые платформы. и с очевидными огранчениями кланг автоматически зарабоатет на новой архитектуре.
| |
|
5.28, Аноним (-), 18:10, 23/05/2012 [^] [^^] [^^^] [ответить] | –6 +/– | А также - С кривым оптимизатором, выдающим код хуже укуренной обезьяны под град... большой текст свёрнут, показать | |
|
|
7.39, an. (?), 22:02, 23/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
> internal error'ы мне попадались самому, к сожалению.
Справедливости ради хочу отметить, что речь шла про версию 3.0. Что касается 3.1 - она только что полностью собрала наш проект, на котором падала ее предшественица.
| |
7.43, Аноним (-), 03:00, 24/05/2012 [^] [^^] [^^^] [ответить]
| –4 +/– |
> * FreeBSD 10 отказывается от GCC в пользу CLANG:
А эти господа велосипедисты-концептуалы на проблемы своих пользователей по жизни чихать хотели. В ответ все больше контор чихает уже на них. В том числе и потому что выбор между некрофильской версией gcc и глючным шлангом - по вкусу далеко не всем.
> * Debian экспериментирует с этим вопросом:
Они и с hurd экспериментируют. Давайте вы свалите на debian/GNU hurd?
> internal error'ы мне попадались самому, к сожалению.
Ну так эппл чужие проблемы чинить не будет.
| |
|
8.64, кевин (?), 03:59, 25/05/2012 [^] [^^] [^^^] [ответить] | +/– | внимание вопрос товарищи знатоки где в новости о выходе нового кланга и ллвм сод... текст свёрнут, показать | |
|
|
6.36, Толстый (ok), 20:45, 23/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
Мы вроде как находимся на форуме посвященному OpenSource - добро пожаловать! Какой открытый проект не глючный скажи мне пожалуйста? Особенно на ранней стадии своего развития. GCC до 4 версии насколько я знаю был тоже далеко не сахар. Я clang'ом не пользовался, а только LDC - впечатления очень положительные. Если есть проблемы, то в лучших традициях опенсорса тебе сюда http://llvm.org/bugs/
| |
|
7.44, Аноним (-), 03:16, 24/05/2012 [^] [^^] [^^^] [ответить] | –1 +/– | Глупо ломиться в запертую дверь если она стоит в чистом поле Можно просто взять... большой текст свёрнут, показать | |
|
8.65, Аноним (-), 04:37, 25/05/2012 [^] [^^] [^^^] [ответить] | +/– | не говори мне, чем пользоваться и не скажу куда тебе следует пойти не нравится ... текст свёрнут, показать | |
|
|
6.62, кевин (?), 03:47, 25/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
>[оверквотинг удален]
> - Вагоном странных багов, когда все падает к черту с internal error.
> Так что вместо написания программы вы идете воркэраундить чужой баг компилера...
> - Странные баги в кодогенерации. Хотите ощутить что ваша программа живет своей
> жизнью и насколько кайфово ловить неочевидные левые глюки в которых вы
> не виноваты? Добро пожаловать в программерский ад.
> - Поддержкой полутора архитектур и систем. Реально почти все разработчики вкалывают в
> эппле, их интересует 1-2 архитектуры и по сути 1 единственная система
> в паре вариантов. На все остальное эпплу по очевидным причинам положить.
> Поэтому доводить до ума вы их будете как-то сами. Почему вы?
> Потому что яблоку не надо а других как-то и нет.
весь мой генту перекомпилировался клангом(за исключением 5 приложений где было лень копать) и работает замечательно
ну и проблемы там токо на си коде, всё на плюсах без проблем( опенмп отключил да -_-)
| |
|
|
|
|
2.33, Имя (?), 19:30, 23/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
> ... Это наподобие Java? Скомпилировал в байт-код и могу использовать на разных платформах с LLVM. Или это наподобия виртуальной явы машины, а clang типа jcc.
Эксперименты с переносимым байт кодом LLVM идут в NativeClient-е, без особого успеха.
А так - либа, которая генерит машинный код, местами кое-как.
| |
2.49, kshetragia (ok), 05:51, 24/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
Это скорее и то и другое. CLANG - это фронтенд компилятор. Который разбирает синтаксис C/C++ и генеряет из него байткод наподобие RISK архитектуры. LLVM - виртуальная машина, которая может этот байткод исполнять, генерять нативный код на выбранной системе, упрощает создание различного рода инструментов анализа кода.. Такое разделение так же позволяет вносить более суровые оптимизации в LLVM не трогая собсно синтаксический анализатор.
C Java в этом отношении очень много общего. Хотя и там эта идея была не нова. В Java позаимствовали наработки Вирта(если не ошибаюсь Модула3/Оберон) и промежуточное представление если не полностью, то во многом унаследовано от P-кода равно как и во многих других языках.
| |
|
3.51, kshetragia (ok), 06:15, 24/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
"Идея p-кода принадлежит Арсу Эмману (Urs Ammann), студенту Никлауса Вирта. В своем документе «On Code Generation in a Pascal», опубликованном в 1977 году, Эмман описал метод трансляции исходного кода программы в промежуточный код и то, как эта идея может быть использована для создания переносимых программ. Год спустя Кэн Боулс (Ken Bowles), профессор Калифорнийского университета в Сан Диего, разработал операционную систему UCSD p-System, в основе которой лежала виртуальная машина, исполняющая p-код, который, в свою очередь, создавался специальным компилятором с языка Pascal.
Идеей p-кода также заинтересовался и сам Никлаус Вирт. В 1985 году он начал работу над операционной системой Oberon, которая базировалась на интерпретаторе p-кода и высокоуровневом языке Oberon. Позднее на ее основе была создана ОС BlueBottle, развитие которой продолжается по сей день."
| |
|
|
5.58, arisu (ok), 00:59, 25/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Значит, хотя бы это уже не смогли запатентовать корпорации. И то славно…
как будто наличие prior work мешает выдаче патента. патентные бюро патенты не проверяют, фактически. и если сформулировать заявку достаточно туманно или «другими словами» — можно стричь купоны. потому что судебные разбирательства — штука дорогая, бизнес в это время стоит колом и вообще неудобно.
| |
|
|
|
|
1.13, Анонимко (?), 15:47, 23/05/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
>clang static checker классная штука, жаль только для C, а не C++
Ты про статический анализатор? Если да, то он есть и под C++
| |
1.15, Толстый (ok), 16:05, 23/05/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Отличный проект. Благодаря LLVM появилась возможность экспериментировать с новыми языками программирования компилирующими в нативный код, не углубляясь в детали кодогенерации. До этого это было невозможно, не связываясь с ужасом под названием GCC.
| |
|
2.20, iZEN (ok), 16:34, 23/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Отличный проект. Благодаря LLVM появилась возможность экспериментировать с новыми языками
> программирования компилирующими в нативный код, не углубляясь в детали кодогенерации.
> До этого это было невозможно, не связываясь с ужасом под названием
> GCC.
LLVM как раз-таки позволяет углубляться в детали кодогенерации в отличие от "ужаса под названием GCC".
| |
|
3.23, Толстый (ok), 17:18, 23/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
>> Отличный проект. Благодаря LLVM появилась возможность экспериментировать с новыми языками
>> программирования компилирующими в нативный код, не углубляясь в детали кодогенерации.
>> До этого это было невозможно, не связываясь с ужасом под названием
>> GCC.
> LLVM как раз-таки позволяет углубляться в детали кодогенерации в отличие от "ужаса
> под названием GCC".
Нет. LLVM IR довольно-таки high-level штука. Совсем необязательно знать даже ассемблер чтобы написать кодогенератор для своего языка с помощью llvm.
| |
|
4.30, dq0s4y71 (??), 18:20, 23/05/2012 [^] [^^] [^^^] [ответить]
| +4 +/– |
> Совсем необязательно знать даже ассемблер чтобы написать кодогенератор для своего языка с помощью llvm.
И работать он будет как кодогенератор, сделанный человеком, который даже не знает ассемблер.
| |
|
5.37, Толстый (ok), 21:09, 23/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
>> Совсем необязательно знать даже ассемблер чтобы написать кодогенератор для своего языка с помощью llvm.
> И работать он будет как кодогенератор, сделанный человеком, который даже не знает
> ассемблер.
Он работает как кодогенератор, который сделан людьми, которые знают ассемблер. А вот чтобы пользоваться им - это необязательно. Он лишь абстрагирует бэкенд от фронтенда. Все-таки не будем голословными, пока лишь были слезы про то что все плохо, но конкретных примеров никто так и не привел.
| |
|
6.45, Аноним (-), 03:18, 24/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
> что все плохо, но конкретных примеров никто так и не привел.
А тебе что, слабо погуглить по наиболее типовым ошибкам и найти тонну мата самому? Ничо, ща бсдельники на него переползут - вот тут то и обчитаешься :)
| |
|
7.63, кевин (?), 03:53, 25/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
>> что все плохо, но конкретных примеров никто так и не привел.
> А тебе что, слабо погуглить по наиболее типовым ошибкам и найти тонну
> мата самому? Ничо, ща бсдельники на него переползут - вот тут
> то и обчитаешься :)
наиболее типовая ошибка в том что многие пробуя кланг пропускают предупреждения стреляют себе в колено а потом плачуться на форумах..
| |
|
|
|
|
|
2.68, ffirefox (?), 18:08, 25/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
> До этого это было невозможно, не связываясь с ужасом под названием
> GCC.
До этого делали генератор С кода, который компилили через любой С-компилятор. Удобство: можно использовать _любой_ С-компилятор и получить качественный код на выходе. Недостаток: дольше компилится (т.е. например, для JIT не совсем удобно).
| |
|
1.19, iZEN (ok), 16:31, 23/05/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
LLVM/Clang 3.1 доступен в составе базовой системы FreeBSD 9-STABLE.
| |
|
2.25, Аноним (-), 17:27, 23/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
Фряха поддерживает арм? Если да, то странно смотреть на их спешки, сланг много каки генерит для арма. К примеру вместо инструкции bl(переход с возвратом) втыкает 2 инструкции
mov lr, pc (сохраняет адрес возврата)
b (и переходит)
bl делает тоже самое за одну инструкцию. Потом много чего компилится криво, например faad после компиляции шлангом выдает приколымые звуки почти похожие на оригинал.
| |
|
3.27, Аноним (-), 18:02, 23/05/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> например faad после компиляции шлангом выдает приколымые звуки почти похожие на оригинал.
Можно реализовать большой проект быстро, дешево и качественно. Но в любой момент времени вы можете выбрать только любые 2 из этих 3 свойств.
| |
3.35, iZEN (ok), 20:14, 23/05/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Фряха поддерживает арм?
Давно уже. Правда в качестве экспериментальной архитектуры, так как до конца не определены механизмы получения информации о периферийных устройствах сынтегрированных с ядром arm.
> Потом много чего компилится криво, например faad после компиляции шлангом выдает приколымые звуки почти похожие на оригинал.
А может дело в консерватории (в режиме кодирования), который не поддерживается faad?
(Собрал faad2-2.7 из порта с помощью системного LLVM/Clang 3.0 и 3.1 — артефактов в воспроизведении M4A-файлов, созданных с помощью faac, не заметил).
| |
|
4.46, Аноним (-), 03:19, 24/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
> (Собрал faad2-2.7 из порта с помощью системного LLVM/Clang 3.0 и 3.1 —
И что за ARMовская машинка была? А то как бы названия команд типа b и bl должны бы навести на смутные подозрения что это слегонца не х86 был :)
| |
|
5.56, iZEN (ok), 14:21, 24/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
>> (Собрал faad2-2.7 из порта с помощью системного LLVM/Clang 3.0 и 3.1 —
> И что за ARMовская машинка была? А то как бы названия команд
> типа b и bl должны бы навести на смутные подозрения что
> это слегонца не х86 был :)
faac/faad2 собирал под [amd64]. Вопрос был о качестве компиляции декодера.
| |
|
6.59, arisu (ok), 01:24, 25/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
> faac/faad2 собирал под [amd64]. Вопрос был о качестве компиляции декодера.
вопрос, наш недалёкий друг, был о качестве кодогенератора под ARM. но ты у нас не читатель, ты писатель прозаек.
| |
|
|
|
|
|
1.40, MegaEvgeniy (ok), 23:03, 23/05/2012 [ответить] [﹢﹢﹢] [ · · · ]
| –6 +/– |
Походу это интересно *bsd юзерам по большей степени.
Использую джава, ибо это супер мега крутая весчь по до всё и вся, для с++ юзаю g++.
| |
|
|
|
4.57, arisu (ok), 00:52, 25/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
>>> Использую джава
>> ну и шёл бы себе мимо.
> Очень продуктивный коммент =)
примерно как твой. мы спать не могли, мечтали увидеть восхваление жабы в теме про llvm. а также очень хотели узнать, что именно ты именно жабу любишь и используешь.
| |
|
5.69, Аноним (-), 21:29, 25/05/2012 [^] [^^] [^^^] [ответить]
| +/– |
А вот Вы как любите свою жабу? Давайте рассказывайте, не стесняйтесь.
| |
|
|
|
2.67, N901 (?), 07:03, 25/05/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
Джава в теме LLVM - означает пользуешься VMKit??
а ну поделись успехами!
| |
|
|