1.3, Толстый (ok), 23:03, 27/04/2010 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Когда уже сделают поддержку исключений в Windows? Единственное, что мешает полноценному кросс-платформенному использованию.
| |
|
|
|
4.28, Andrey Mitrofanov (?), 14:25, 28/04/2010 [^] [^^] [^^^] [ответить]
| +/– |
>Скажи это всем клиентам. Сними розовые очки.
То есть _твоим клиентам надо, а сделать -- "пусть скорее уж" кто-нибудь другой, я правильно уловил твою мысль? Бизнес процветает, малацца! Вот это всё и расскажи этим самым "клиетам", выствляя счёт.
| |
|
5.32, Толстый (ok), 02:13, 29/04/2010 [^] [^^] [^^^] [ответить]
| +/– |
Эта задача очень нетривиальна, я знаю пару человек которые начинали делать но особо не продвинулись(люди очень грамотные). Не сделают разработчики, буду пользоваться другим, что поделать. Я просто выразил мнение о фиче, которой лично мне не хватает в llvm. Вы сами много исправляли багов/реализовали фич в компиляторе которым пользуетесь(если пользуетесь), а также операционной системе и приложениях?
| |
5.33, Толстый (ok), 02:15, 29/04/2010 [^] [^^] [^^^] [ответить]
| +/– |
Да и вообще речь шла о Windows. Он хоть и кривой, но люди для которых пишется ПО как ни странно сидять под виндой. Поэтому я изначально думаю над тем, чтобы софт был кросс-платформенный.
| |
|
|
|
|
1.8, IGX (?), 03:38, 28/04/2010 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
А можно в Clang компилировать код для Linux в Windows и наоборот? Т.е. возможна ли кросскомпиляция, в том числе для разных процессоров?
| |
|
2.14, arcade (ok), 10:32, 28/04/2010 [^] [^^] [^^^] [ответить]
| +/– |
>А можно в Clang компилировать код для Linux в Windows и наоборот?
>Т.е. возможна ли кросскомпиляция, в том числе для разных процессоров?
Да. Хотя надеюсь Вы понимаете отличия компиляции программы в код от линковки с динамическими/статичесикими библиотеками. Если первое - на ура, то второе - только в полном окружении пусть и на другой системе.
PS: В этом смысле жгут NetBSD-шники. У них система собирается на любом другом юниксе и не требует наличие чего-либо - само всё бутстрапит из шелла.
| |
|
1.9, IGX (?), 03:41, 28/04/2010 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Можно ли с помощью Clang в Windows скопилировать код для Linux Microblaze или просто двоичный код для некоторой функции, который потом динамически загрузить Microblaz'ом?
| |
|
2.15, arcade (ok), 10:34, 28/04/2010 [^] [^^] [^^^] [ответить]
| +/– |
>Можно ли с помощью Clang в Windows скопилировать код для Linux Microblaze
>или просто двоичный код для некоторой функции, который потом динамически загрузить
>Microblaz'ом?
Да. На самом clang умеет делать универсальные бинарники для нескольких архитектур сразу.
| |
|
3.19, Ariel (ok), 12:38, 28/04/2010 [^] [^^] [^^^] [ответить]
| +/– |
Но вы учитывайте, что бинарный файл имеет определённый формат который обеспечивает существование нескольких файлов в универсальном архиве, и, например mach-o это умеет, а elf или pe - нет. И любой файл слинкован с динамическими либами, которых может не быть на целевой системе, например в linux вообще отсутствует понятие framework, и загрузчик не умеет с ними работать. Кросскомпиляция без проблем используется, если у вас одна система на нескольких разных машинах, как например Mac OS X. Хотя, если использовать кроссплатформенное окружение (OpenStep), то почему нет.
| |
|
2.25, IGX (?), 13:21, 28/04/2010 [^] [^^] [^^^] [ответить]
| +/– |
1) Можно ли с помощью Clang скомпилировать машинный код для некоторой функции (без всяких обёрток в виде dll/so), который потом динамически загрузить?
| |
2.27, IGX (?), 13:54, 28/04/2010 [^] [^^] [^^^] [ответить]
| +/– |
2) Можно ли с помощью Clang скомпилировать промежуточный байт-код для некоторой функции, который потом скомпилировать при загрузке в машинный код и использовать скомпилированную функцию в программе?
| |
|
3.29, Ariel (ok), 15:36, 28/04/2010 [^] [^^] [^^^] [ответить]
| +/– |
1
Насколько я знаю, компилируются единицы трансляции, т е файлы, из которых вы можете её экспортировать, если она с внешней линковкой, мне не ясен ваш вопрос,
2
о загрузке см. 1, скомпилировать в IR и затем исполнять на виртуальной машине llvm можно, это называется jit,
clang file.c -c -emit-llvm -o file.bc
lli file.bc
| |
|
4.30, IGX (?), 18:05, 28/04/2010 [^] [^^] [^^^] [ответить]
| +/– |
>1
>Насколько я знаю, компилируются единицы трансляции, т е файлы, из которых вы
>можете её экспортировать, если она с внешней линковкой, мне не ясен
>ваш вопрос,
Например, llvm позволяет во время выполнения программы конструировать функцию в памяти в виде IR, потом компилировать IR в машинный код, а затем через указатель на блок памяти, содержащий этот машинный код, вызывать функцию, как любую другую функцию вашей программы. У меня вопрос: позволяет ли подобное делать Clang, т.е. компилировать функцию Си/С++ в IR (подобно ручному конструированию IR в llvm) в память во время выполнения программы? Если да, то как примерно это делается?
>2
>о загрузке см. 1, скомпилировать в IR и затем исполнять на виртуальной
>машине llvm можно, это называется jit,
>
>clang file.c -c -emit-llvm -o file.bc
>lli file.bc
Спасибо за наводку, документацию на clang пока не читал.
| |
|
5.31, Ariel (ok), 22:01, 28/04/2010 [^] [^^] [^^^] [ответить]
| +/– |
Не знаю, я не работал с IR, смотрите документацию в комплекте clang, или лучше спросите llvm mailing list.
| |
|
|
|
|
1.18, anonimus (?), 11:57, 28/04/2010 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Как этой штукой компилить код, поддерживающий OpenCL? Есть какие-то плагины?
Но нигде не нашел ни статьи ни примеров, как это делать...
| |
1.26, Аноним (-), 13:22, 28/04/2010 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
жду не дождусь, пока оно станет в продакшн. вкусные плюхи однако там есть.
| |
|