我正在评估自定义 VM 的不同可能性,并在另一个问题中省略了 LLVM。由于我仍在评估嵌入式语言 VM,因此我现在无法自己测试/检查。我想知道有关 LLVM/CLANG 的以下信息:
- 它在 Windows 上是否得到很好的支持?还是索拉里斯?(跨平台对我来说是一个加分项)
- 如果我想用类 C 语言编写自己的/自定义 VM,我需要在项目中包含什么?(LLVM/CLANG 部分或组件等)
- 出于显而易见的原因(不编写解释器),我会将编译器与 VM 分开。所需组件的大小是多少?我可以在程序中构建它们而不是动态链接到它们吗?
- 我可以避免 JIT 吗?我想要一个字节码虚拟机,它不一定会转换为本机代码。这在平台不支持 JIT 时会有所帮助(例如,具有限制内存权限且不允许 wx/rwx 内存映射的系统)。
例如,我知道 clamav 防病毒软件使用由 LLVM/clang 支持的字节码来支持动态/运行时签名。但是,我不知道是否有现成的工具来实现这个和/或指导您完成实现这样一个事情的过程的教程或文档。
谢谢!:)