1

私は現在、さまざまなスクリプト言語のホストを実行するためのさまざまな仮想マシンを検討しています (埋め込み方式で)。

私の目を引いた 2 つの VM は次のとおりです。

  • LLVM: LLVM を VM として使用しないことを提案する投稿を見たことがありますが、LLVM には多くの利点があるようです。最適化、JIT、優れたデバッガーなどを実行できます。この方法での LLVM の使用に関するドキュメントはあまりないようですが、C++11 をインタープリター言語として実行できる Cling があります (これはかなり印象的です)、コマンドライン ツール 'lli' も同様です。

  • libJIT: 技術的にはこれは VM ではありませんが、VM を作成するために必要なツールを提供します。

だから私の質問は:

  1. これらの VM のいずれかを使用した経験があり、否定的または肯定的な経験をする可能性がある人はいますか?
  2. 私は LLVM と libJIT の両方について多くのドキュメントを調べましたが、他のリソース (特に LLVM) に関する推奨事項があるかどうかを確認したかったのです。
  3. 他に検討すべき VM はありますか? 私はいくつかのかなり広範な検索を行ったので、これはそこにある VM の問題ではなく、人々が使用して推奨するソフトウェアの 1 つです。

VM の実際の使用に関しては、VM を C++ プログラムに組み込み、スクリプト可能なユーザー環境を提供するつもりです。すでに一部の作業で Lua を使用していますが、さまざまな理由から、他の言語もサポートできるようにしたいと考えています。

最後に、私は Parrot を見てきましたが、それについて読んだいくつかのことから、それを使用するのを少し躊躇しています (誰かが私を別の方法で説得できるでしょうか?)。

アップデート

http://vmkit.llvm.orgに出くわしました。これは、LLVM を使用して本格的な VM を作成しているようです。

4

0 に答える 0