macchina virtuale open source
-
30-09-2019 - |
Domanda
Sto cercando una macchina virtuale open source che è:
- veloce e il più leggero possibile
- supporta un set minimo di bytecode (come LLVM IR)
- facilmente embedable da un'applicazione C ++
- Multipiattaforma (Linux, Windows e OS X)
- Supporto x86
Soluzione
Perché filtro fuori LLVM? E ' un insieme di librerie C
Credo che non è così facile per incorporare di Lua, ma LLVM è così grande che sarebbe probabilmente superato il fastidio di integrarla. Vedere questa domanda SO , lo fa d'aiuto?
Altri suggerimenti
Lua è famosa per essere ridicolmente facile da incorporare nel C / C ++. La sua VM è open source e cross-platform, molto piccola (sia exe dimensioni e istruzioni bytecode set) e allo stesso tempo abbastanza veloce. Ma la sua bytecode può essere non adatto per la propria lingua. Il formato bytecode è documentato qui.
NekoVM è un linguaggio di programmazione e di una macchina virtuale leggero progettato come un obiettivo generico per gli scrittori del compilatore. La documentazione fa sembrare veramente facile da incorporare il VM in un'applicazione C o C ++, ma sembra che il VM API non è ancora documentato.
Altro risposta possibile: perché non l'uscita assembler invece? è veloce e leggero, e non hai bisogno di una macchina virtuale a tutti. Dal momento che si target solo x86, potrebbe avere senso, a seconda di quello che stai cercando di fare.