Java native interface(JNI)技术简单应用

2014-11-24 14:41:20 · 作者: · 浏览: 11

首先需要写一个java类,然后定义需要使用C/C++去实现的方法(虽然说jni是java native interface,但是目前只支持c/c++实现),使用native关键字声明。这里写一个简单的例子:


TestJNI.java




然后将以上文件使用javac编译,然后使用javah命令,如下:


javac test/jni/TestJNI.java


javah test.jni.TestJNI


之后会得到一个test_jni_TestJNI.h的头文件,内容如下:


test_jni_TestJNI.h




然后编写c/c++实现,如下:


TestJNI.c




使用VC编译成TestJNI.dll,编译是需要引入jre/include文件夹和jre/include/win32文件夹。


将TestJNI.dll拷贝至刚才test.jni.TestJNI的classpath下面,然后运行java test.jni.TestJNI就能得到输出了,一些在编写C程序时遇到的问题都在c代码中注释了,希望能给遇到同样问题的朋友一个借鉴。