Вторник, 21 Августа 2018, 05:43

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » Общие обсуждения программистов » Нужен транслятор LLVM байткода в машинно-ориентированный код ((исполняемый файл))
Нужен транслятор LLVM байткода в машинно-ориентированный код
SaiteiДата: Вторник, 30 Июня 2015, 16:05 | Сообщение # 1
старожил
Сейчас нет на сайте
Начал вот баловаться с генерацией LLVM байткода и хотелось бы научить мою С++ программу компилировать его в исполняемый файл.
Компилятор должен быть не особо большим + было бы здорово, если можно было бы его "вшить" в мою С++ программу.

Заранее благодарю за помощь
XakepДата: Вторник, 30 Июня 2015, 16:44 | Сообщение # 2
めちゃくちゃちゃ
Сейчас нет на сайте
Цитата Saitei ()
Компилятор должен быть не особо большим + было бы здорово, если можно было бы его "вшить" в мою С++ программу.

вшивать это плохо, почти все компиляторы не так работают, они генерируют байт код, а потом уже линкуются, компилятор должен уметь использовать линковщик, но линковщик не должен быть вшит в программу. А в случае с llvm то тут вообще красота, распространяется под лицензией FreeBSD, следовательно ты все бинарники можешь распространять даже в коммерческом проекте, а там как раз все уже есть, для оптимизации сгенерированного байткода можно использовать программу opt, для генерации в объектный файл, или в ассемблерный код можно использовать llc, можно просто выполнить твой байткод через lli, можно не большой скрипт к нему подписать bash или bat чтобы он запускал твой байткод и в продакшн ) Была еще какая-то тулза, которая вшивала байткод в exe, но я не помню как уже называется. В общем самый оптимальный как по мне, это просто генерировать несколько bc файлов (каждому твоему исходнику соостветствует свой bc, и можно еще смотреть, изменялся ли файл, чтобы лишний раз не перекомпилировать) и потом через llvm-link слинковать в общий байткод ну и оптимизировать все это дело через op, и просто распространять свою программу с lli ну а там думаю додумаешь как лучше организовать это )) Получится на подобие C# т.е. JIT компилятор.




Проекты:
Aphalin Compiler - новый язык программирования
E2DIT - Среда разработки, редактор уровней для 2D игр на Haxe
Форум игроделов » Программирование » Общие обсуждения программистов » Нужен транслятор LLVM байткода в машинно-ориентированный код ((исполняемый файл))
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2018 Рейтинг