Виртуальная машина с открытым исходным кодом

Я ищу виртуальную машину с открытым исходным кодом, которая:

  • быстро и как можно более легкий
  • поддерживает минимальный набор байт-кода (например, LLVM IR)
  • легко встраиваемый из приложения C++
  • кросс-платформенный (Linux, Windows и OS X)
  • поддержка x86

4 ответов


зачем отфильтровывать LLVM ? Это набор библиотек C

Я думаю, что это не так просто встроить, чем Lua, но LLVM настолько велик, что он, вероятно, преодолеет хлопоты по его интеграции. См.это так вопрос, это поможет ?


Lua славится тем, что смехотворно легко вставляется в C/C++. Его VM является открытым исходным кодом и кросс-платформенным, очень маленьким (как размер exe, так и набор команд байт-кода) и в то же время довольно быстрым. Но его байт-код может быть не подходит для вашего языка. формат байт-кода задокументирован здесь.


NekoVM - это язык программирования и легкая виртуальная машина, разработанная в качестве общей цели для авторов компиляторов. документация Кажется, что очень легко встроить VM в приложение C или C++, но, похоже, API VM еще не документирован.


другой возможный ответ: почему бы не вывести ассемблер вместо этого ? он быстрый и легкий, и вам вообще не нужна виртуальная машина. Поскольку вы нацелены только на x86, это может иметь смысл, в зависимости от того, что вы пытаетесь сделать.