从 Java 生成 LLVM 代码 [已关闭]

2022-09-02 03:42:33

我想使用Java的LLVM代码生成框架。

也就是说,我不想将Java代码编译成LLVM。我只是想要一个用于代码生成的LLVM库,我可以从Java调用它。通常的LLVM库是C,所以我不能使用它。

是否有任何 Java 端口?如果不是,那么最简单的方法是什么?将 API 包装到 JNI 中?


答案 1

快速搜索llvm java api绑定,发现几个项目似乎很合适:

所有这些库都使用 JNI 来访问 C-API,因此在任何情况下您都有 LLVM 本身的 DLL 或 SO 文件。


答案 2

使用基于当前 LLVM v3.6 的更多最新信息来回答问题。您的选项包括:

  • 机器人VMLLVM Java绑定是RoboVM项目的一部分,支持当前的LLVM v3.6(GPL许可证)。
  • LLVM-J,它移动到Github并支持LLVM v3.0(MIT许可证)。
  • JLLVM 支持 LLVM v3.2 (LGBL License)。

如果GPL许可对你来说是可以的,那么你绝对应该去RoboVM。这是一个活跃的项目,对最新的LLVM版本提供了强大的支持。JLLVM 和 LLVM-J 不再处于活动状态,因此您需要使用它们执行一些额外的工作。


推荐