1. 程式人生 > >Java與C++語言在JNI下的互動

Java與C++語言在JNI下的互動

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.