Frage

Ich bin für eine Open-Source-virtuelle Maschine suche, ist:

  • schnell und so leicht wie möglich
  • unterstützt eine minimale Menge von Bytecode (wie LLVM IR)
  • leicht implantierbare aus einer C ++ Anwendung
  • Cross-Plattform (Linux, Windows und OS X)
  • x86-Unterstützung
War es hilfreich?

Lösung

Warum ausfiltern LLVM? Es ist einer Reihe von C-Bibliotheken

Ich denke, es ist nicht so einfach einzubetten als Lua, aber LLVM ist so groß, dass es wahrscheinlich die Mühe zu integrieren es überwinden würde. Siehe href="https://stackoverflow.com/questions/3527467/how-to-embed-llvm">, tut es Hilfe?

Andere Tipps

Lua ist berühmt für lächerlich einfach ist in C / C ++ einbetten. Seine VM ist Open Source und plattformübergreifende, sehr klein (beide exe Größe und Bytecode-Befehlssatz) und zugleich recht schnell. Aber seine Bytecode kann für Ihre Sprache nicht geeignet. Das Bytecode-Format ist hier dokumentiert.

NekoVM ist eine Programmiersprache und eine leichte virtuelle Maschine ausgeführt als generisches Ziel für Compiler Schriftsteller. Die Dokumentation es scheint einfach einzubetten der VM in einem C oder C ++ Anwendung macht, aber es scheint die VM API ist noch nicht dokumentiert.

Weitere mögliche Antwort: Warum stattdessen nicht ausgegeben Assembler? es ist schnell und leicht, und Sie nicht über eine VM überhaupt benötigen. Da Sie nur Ziel x86, könnte es sinnvoll sein, je nachdem, was Sie zu tun versuchen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top