gex*_*ide 19 java code-generation llvm
我想使用Java的LLVM代码生成框架.
也就是说,我不希望Java代码编译成LLVM.我只想要一个用于代码生成的LLVM库,我可以从Java调用它.通常的LLVM库是C,所以我不能使用它.
有没有Java端口?如果不是,那么最简单的方法是什么呢?将API包装到JNI中?
从Java访问C库的最简单方法是JNA.您创建了一个与您希望使用的C API部分同构的Java接口,然后JNA完成其余的工作.这意味着您只需在API更改时更新与您直接相关的方法.
https://github.com/twall/jna/blob/master/README.md
SWIG更难使用,但如果你发现自己需要提高性能,那么JNA可能是一个死胡同.JLLVM是一个基于SWIG的工具,因此您可以考虑引用它或为自己的目的分配它.
不要使用基本的JNI - 在SWIG或JNA之间进行选择.
盲目地依赖历史最少的第三方包装是一个冒险的主张,但如果你故意把这样一个项目当作一个起点,你就不会出错.
使用这两种技术,您偶尔会不得不四处寻找枚举常数.如果它们不容易从头文件中读取,那么您将需要编写一个简单的C程序来打印出您感兴趣的常量,因此您可以手动将它们复制到Java接口.
| 归档时间: |
|
| 查看次数: |
11380 次 |
| 最近记录: |