Java与C++语言在JNI下的交互

来源:互联网 发布:wps for linux 输入法 编辑:程序博客网 时间:2024/06/05 20:12

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.