Java Native Interface
设置 JNI 需要 Java 和本机编译器。根据 IDE 和 OS,需要进行一些设置。Eclipse 的指南可以在这里找到。可在此处找到完整的教程。
以下是在 Windows 上设置 Java-C++链接的步骤:
- 使用
javac
将 Java 源文件(.java
)编译为类(.class
)。 - 使用
javah
从包含native
方法的 Java 类创建头文件(.h
)。这些文件指示本机代码它负责实现的方法。 - 在实现
native
方法的 C++源文件(.cpp
)中包含头文件(#include
)。 - 编译 C++源文件并创建库(
.dll
)。该库包含本机代码实现。 - 指定库路径(
-Djava.library.path
)并将其加载到 Java 源文件(System.loadLibrary(...)
)中。
回调(从本机代码调用 Java 方法)需要指定方法描述符。如果描述符不正确,则会发生运行时错误。因此,为我们制作描述符是有帮助的,这可以通过 javap -s
来完成。