As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center 指导。




8年前关闭。




我将开始为一种小语言编写 JIT/解释器,并想使用一些今天可用的免费 JIT 工具/库。我有哪些选择(我只知道 libjit、LLVM 和 GNU Lightning),哪个更容易使用(但不会太慢)?

要求是:
  • 编译时间是 不是 重要
  • 执行时间很重要,但只要使用 JIT 编译器不太难
  • 易用性很重要
  • 不需要垃圾回收。
  • 实际上,不需要运行时环境(我真的只想要 JIT:编译到内存区域,然后获取指针并开始执行生成的代码)
  • 开发将使用普通标准 C(无 C++,无特定于平台的功能)和 pthreads 完成。
  • 最佳答案

    具有良好执行时间的普通标准 C?您一定在寻找 LuaJIT(实际上是后端的 dynasm,但它仍然是 LuaJIT 的一部分),它是一个跟踪 JIT 编译器(其中提到的大多数编译器都是静态的)。它确实有垃圾收集功能,但可以很容易地删除或修改它(很快就会有计划对其进行大修),并且它具有 native FFI,因此它可以轻松地进行外部绑定(bind)(从 C 级别开始,因此您不需要“t总是必须深入了解细节)。

    最好的部分是它完全公共(public)领域的代码,并且代码是文档(它的结构很好,很好)。

    关于c - 现在有哪些免费的 JIT 编译器,哪个更容易使用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7536322/

    10-12 15:03