Каков размер программы, использующей LLVM / CLANG для пользовательского bytecode VM?

Я оцениваю различные возможности для пользовательской виртуальной машины, и я исключил LLVM из другого вопроса. Поскольку я все еще работаю над оценкой виртуальных машин со встроенным языком, я пока не могу проверить / проверить это самостоятельно. Я хотел бы узнать следующую информацию о LLVM / CLANG:

  • Хорошо ли поддерживается в Windows? Или Солярис? (кроссплатформенность для меня является плюсом)
  • Если я хочу написать свою собственную / настраиваемую виртуальную машину на языке C-подобном, что мне нужно будет включить в проект? (Разделы или компоненты LLVM / CLANG и т. Д.)
  • Я бы по очевидным причинам держал компилятор отдельно от виртуальной машины (не для написания интерпретатора). Какого размера требуются компоненты? Могу ли я встроить их в программу вместо динамического связывания с ними?
  • Могу ли я избежать JIT? Я хотел бы иметь виртуальную машину с байт-кодом, которая не обязательно переводится в собственный код. Это поможет, когда JIT не поддерживается на платформе (например, системы с ограниченными разрешениями на память, которые не позволяют сопоставления памяти wx / rwx).

Я знаю, что антивирус clamav, например, использует байт-код, поддерживаемый LLVM / clang, для поддержки динамического / подписи времени выполнения. Однако я не знаю, существует ли средство для реализации этого и / или учебные пособия или документация, которые проведут вас через процесс реализации такой вещи.

Спасибо! :)

5
задан Seki 13 June 2015 в 10:40
поделиться