JNI(Java Native Interface,Java 本地接口)是一种编程框架,使得 JVM 中的 Java 程
序可以调用本地应用或库,也可以被其他程序调用。本地程序一般是用其它语言(C、C++或
汇编语言等)编写的,并且被编译为基于本机硬件和操作系统的程序。
示例:通过 JNI 调用 C 函数
Code Snippet 1:
Java 代码
Code Snippet 2:
C 代码
编译和运行
-
编译 Java 代码
-
生成 C 头文件
-
编译 C 代码为共享库
在 Linux 和 macOS 上,使用 gcc 或 clang 编译 C 代码:
在 Windows 上,使用 cl 编译器:
这将生成一个共享库文件,在 Linux 和 macOS 上是 libhello.so,在 Windows 上是
hello.dll。
-
运行 Java 程序