JNI:Java Native Interface。我们用它来在Java里执行用C/C++编写的dll库。
准备工作:
1. 写一个简单的HelloWorld 的 Java class:
public class HelloWorld{
public native void displayHelloWorld();
static{
System.loadLibrary("hello");
}
public static void main(String[] args) {
new HelloWorld().displayHelloWorld();
}
}
这里我们可以看到我们用了native关键字,这个关键字表示,displayHelloWorld这个方法的实现是由本地库来提供的,而这里只是定义一个声明。
System.loadLibrary("hello")代表了,我们将要生成的dll文件,将在类的 static 块中加载。
2. 用 javac HelloWorld.java 编译这个 HelloWorld.
用 javah HelloWorld 生成相应的 HelloWorld.h 头文件
3. 编写本地代码 HelloWorldImpl.c:
#include <jni.h>
#include <stdio.h>
#include "HelloWorld.