カスタムVMのさまざまな可能性を評価していますが、別の質問からLLVMを除外しました。私はまだ組み込み言語VMの評価に取り組んでいるので、今のところこれを自分でテスト/チェックすることはできません。LLVM/CLANGに関する次の情報を知りたいです。
- Windowsでうまくサポートされていますか?またはSolaris?(クロスプラットフォームは私にとってプラスです)
- Cのような言語で独自の/カスタムVMを作成したい場合、プロジェクトに何を含める必要がありますか?(LLVM / CLANGセクションまたはコンポーネントなど)
- 明らかな理由(インタープリターを作成しない)のために、コンパイラーをVMから分離しておきます。必要なコンポーネントのサイズはどのくらいですか?それらに動的にリンクする代わりに、プログラム内でそれらを構築できますか?
- JITを回避できますか?必ずしもネイティブコードに変換されないバイトコードVMが欲しいのですが。これは、プラットフォームでJITがサポートされていない場合に役立ちます(たとえば、wx / rwxメモリマッピングを許可しない制限付きメモリ権限を持つシステム)。
たとえば、clamavアンチウイルスは、LLVM / clangに裏打ちされたバイトコードを使用して、動的/ランタイム署名をサポートしていることを知っています。ただし、これを実装するための既存の機能や、そのようなものを実装するプロセスをガイドするチュートリアルまたはドキュメントがあるかどうかはわかりません。
ありがとう!:)