程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> JNI Linux平台(包、解決中文路徑亂碼、數組傳入、傳出)

JNI Linux平台(包、解決中文路徑亂碼、數組傳入、傳出)

編輯:關於JAVA
 

以C++實現讀寫文件,Java調用為例。包括中文路徑的傳遞和數組的傳入傳出。

1.環境准備

保證Java代碼能夠正確編譯運行(安裝JDK,正確配置環境變量)

保證C++代碼能夠正確編譯(安裝gcc)

文件目錄結構

/JNI/com/yiluboke/zxy/WriteReadJ.java

/JNI/WriteReadC++

2.編寫java代碼(參見JNI Windows平台)

3.編譯Java代碼,生成class文件

在/JNI目錄下

javac ./com/yiluboke/zxy/WriteReadJ.java,在該java文件所在目錄下生成WriteReadJ.class文件。

 


4.生成.h文件

在/JNI目錄下

javah -jni com.yiluboke.zxy.WriteReadJ,在當前目錄下生成com_yiluboke_zxy_WriteReadJ.h文件

 


5.編寫C++代碼,並編譯成so文件(參見JNI Windows平台)

 


6.運行java文件

在/JNI目錄下

java com.yiluboke.zxy.WriteReadJ

 


7.完整Demo下載

百度網盤地址:http://pan.baidu.com/s/1c0Rbj4s

本文采用的JDK是 64位版本1.7.0_79。

 


注意事項:

Linux的鏈接規定:一個庫的必須要是:lib+庫名+.so。鏈接的時候只需要提供庫名就可以了。

運行錯誤:

 


java.lang.UnsatisfiedLinkError:no XXX in java.library.path異常。

修改/etc/profile

增加export LD_LIBRARY_PATH=/JNI

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved