2014年4月3日 星期四

JNI Example

由於許多控制電子元件適合用Native Code來做, 於是關注了JNI 的一些功能. 不可免俗的也做了JNI 版本的 HelloWorld.


1. 首先建立要使用JNI的 JavaCallC.java 檔 以及 要被JNI呼叫的 JavaCallC.c 檔
2. 利用建立好的 JavaCallC.java 產生 JavaCallC.h
javac JavaCallC.java
javah -jni JavaCallC

3. 產生 libJavaCallC.so
gcc -shared -I /opt/java/jdk1.7.0_21/include/ -I /opt/java/jdk1.7.0_21/include/linux/ JavaCallC.c -o libJavaCallC.so

4. 執行
java -Djava.library.path=. JavaCallC

5.結果輸出
Hello world from C Language JavaCallC.c csayhello!

參考資料