Java與C++語言在JNI下的互動
阿新 • • 發佈:2019-01-30
java環境下呼叫VC++編寫的動態連結庫檔案
一,開發平臺:
MyEclipse 6.0,VC++6.0
二,JNI基礎知識:
JNI(java native interface),JAVA本地介面呼叫,目的是為了JAVA可以呼叫本地程式。
三,互動過程:
1,建立java類。例如,建立一個RSA加密解密的類:
2,生成C++語言的標頭檔案:
1)注意:利用javah工具生成標頭檔案需要注意,類的包結構,和class檔案儲存的路徑。
例如:本地class檔案儲存路徑:E:/lclai/lclai/src/
包結構應為:E:/lclai/lclai/src/com/org/lclai
RsaEncrypt.java應該存放在包路徑下。
2)CMD命令提示符下進入E:/lclai/lclai/src/com/org/lclai路徑
輸入命令:javac RsaEncrypt.java
回車。
把生成的class檔案拷貝到路徑E:/lclai/lclai/src/
CMD命令提示符下進入E:/lclai/lclai/src/
輸入命令:javah -classpath E:/lclai/lclai/src -jni com.org.lclai.RsaEncrypt
回車。
在路徑E:/lclai/lclai/src/便會生成以包結構和類名結合的標頭檔案。
3,編寫cpp檔案
cpp檔案頭需要包含剛剛生成的.h檔案,此外還需要包含jni.h.