JNI最大的好处是它没有对底层Java虚拟机的实现施加任何限制,因此,Java虚拟机厂商可以在不影响虚拟机其它部分的情况下添加对JNI的支持。程序员只需编写一种版本的本地(Native)应用程序和库,就能够与所有支持JNI的Java虚拟机协同工作。
JNI可以理解为Java和本地应用程序之间的中介。
一般步骤:
1。先编写java源文件;
2。编译java文件;
3。用javah -jni命令编译头文件;
4。本地方法的实现,用非java语言,如C,C++等其他语言编写程序源文件;
5。创建一个共享库,用cl编译器编译;
6。执行java程序。
举例如下:
1。先编写java源文件HelloWorld.java:

class HelloWorld ...{
public native void displayHelloWorld();
static 
...{
System.loadLibrary("hello");
}

public static void main(String[] args) ...{
new HelloWorld().displayHelloWorld();
}
}2。编译HelloWorld.java文件:

3。再用如下命令编译:
javah -jni HelloWorld

则在当前目录D:\javae\Lesson3下生成HelloWorld.h头文件,文件内容为:

/**//* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
最新评论共有 0 位网友发表了评论
查看所有评论
发表评论

