Я оцениваю различные возможности для пользовательской виртуальной машины, и я исключил LLVM из другого вопроса. Поскольку я все еще работаю над оценкой виртуальных машин со встроенным языком, я пока не могу проверить / проверить это самостоятельно. Я хотел бы узнать следующую информацию о LLVM / CLANG:
- Хорошо ли поддерживается в Windows? Или Солярис? (кроссплатформенность для меня является плюсом)
- Если я хочу написать свою собственную / настраиваемую виртуальную машину на языке C-подобном, что мне нужно будет включить в проект? (Разделы или компоненты LLVM / CLANG и т. Д.)
- Я бы по очевидным причинам держал компилятор отдельно от виртуальной машины (не для написания интерпретатора). Какого размера требуются компоненты? Могу ли я встроить их в программу вместо динамического связывания с ними?
- Могу ли я избежать JIT? Я хотел бы иметь виртуальную машину с байт-кодом, которая не обязательно переводится в собственный код. Это поможет, когда JIT не поддерживается на платформе (например, системы с ограниченными разрешениями на память, которые не позволяют сопоставления памяти wx / rwx).
Я знаю, что антивирус clamav, например, использует байт-код, поддерживаемый LLVM / clang, для поддержки динамического / подписи времени выполнения. Однако я не знаю, существует ли средство для реализации этого и / или учебные пособия или документация, которые проведут вас через процесс реализации такой вещи.
Спасибо! :)
задан Seki 13 June 2015 в 10:40
поделиться