如何为JDK 10中的类文件生成JNI头文件?
Java本地接口(JNI)头文件生成方法变迁
JNI的核心作用之一,就是通过C头文件搭建起JVM代码和本地代码之间的桥接层。关于这些头文件的生成方式,其实经历过一次官方工具的更迭:
旧方案(Java 10之前):
过去生成JNI头文件非常直接——只需要用命令行工具javah处理你的类文件就行。这个工具会自动为类中所有标记了native修饰符的方法生成对应的C函数原型,操作起来简单高效。新方案(Java 10及之后):
从Java 10开始,javah工具已经被官方移除了,取而代之的是javac命令新增的-h参数。使用时只需要在编译Java类的同时,用这个参数指定头文件的输出目录即可,举个实际使用的例子:javac -h ./jni_output YourNativeClass.java只要你的Java环境版本符合要求,这个替代方案就能稳定工作。
内容的提问来源于stack exchange,提问作者Jakob Odersky
相关产品推荐
相关产品推荐

