Linux 環(huán)境下java通過JNI調(diào)用c,c++
轉(zhuǎn)載自 http://www.rzrgm.cn/hequn/articles/3444043.html
參考資料:
1.http://www.rzrgm.cn/bastard/archive/2012/05/17/2506877.html
2.http://www.ibm.com/developerworks/cn/java/l-linux-jni/
3.http://watershitter.iteye.com/blog/477615
主要參考資料1
程序流程貌似是TestWordJni.class調(diào)用WordJni.class,WordJni.class調(diào)用libWordJni.so。因?yàn)槲野哑渌募?java .h .c)刪了都沒事,WordJni.class不能刪。
1.創(chuàng)建.java文件
- cmd 輸入命令 javac WordJni.java
3.生成.h文件 cmd 輸入命令 javah -jni WordJni

4.編寫自己的C文件,注意:.c文件函數(shù)的名稱,返回值都要和生成的.h文件相同,不然會(huì)出現(xiàn)java.lang.UnsatisfiedLinkError錯(cuò)誤
5.編譯,生成庫文件
cmd 輸入命令 gcc -I/usr/java/jdk1.6.0_31/include -I/usr/java/jdk1.6.0_31/include/linux -fPIC -shared -o libWordJni.so WordJni.c
6.編寫調(diào)用程序TestWordJni.java

7.生成.class文件
cmd 輸入命令 javac TestWordJni.java
8.執(zhí)行
cmd 輸入命令 java -Djava.library.path='.' TestWordJni
9。結(jié)果
Hello,World !----copy that
本文來自博客園,作者:迷茫的小白,轉(zhuǎn)載請(qǐng)注明原文鏈接:http://www.rzrgm.cn/cloudHui/p/18376607



浙公網(wǎng)安備 33010602011771號(hào)