目的:写c/c++函数,让java调用

java代码

1.创建HelloJNI.java文件->编写代码如下->cmd中javac HelloJNI.java获取HelloJNI.class文件

public class HelloJNI {
	public native void display();//native申明函数是它语言实现

	static {//表示静态语句块
		System.loadLibrary("HelloDll");//表示加载动态链接库HelloDll库
	}
	public static void main(String[] args) {
		new HelloJNI().display();
	}
}

JAVA-JNI java程序调用c/c++程序

2.在cmd中 javah HelloJNI 获取HelloJNI.h文件

JAVA-JNI java程序调用c/c++程序

JAVA-JNI java程序调用c/c++程序

 

下面是c/c++程序

1.创建HelloDll编译动态库项目

JAVA-JNI java程序调用c/c++程序

2.选择dll 空项目

JAVA-JNI java程序调用c/c++程序

3.添加HelloDll.h、HelloDll.cpp

JAVA-JNI java程序调用c/c++程序

4.将HelloJNI.h的内容复制到HelloDll.h文件中

JAVA-JNI java程序调用c/c++程序

5.将安装java的jdk中的jni.h、jawt_md.h、jni_md.h三个头文件复制到HelloDll项目中。

jni.h位置

JAVA-JNI java程序调用c/c++程序

jawt_md.h、jni_md.h位置

JAVA-JNI java程序调用c/c++程序

复制到HelloDll项目文件中

JAVA-JNI java程序调用c/c++程序

6.需要配置下头文件路径项目鼠标右键->属性->VC++项目->包含目录->../HelloDll;

JAVA-JNI java程序调用c/c++程序

7.在HelloDll.cpp中实现函数

JAVA-JNI java程序调用c/c++程序

8.生成HelloDll.dll库文件

JAVA-JNI java程序调用c/c++程序

JAVA-JNI java程序调用c/c++程序

 

运行程序

1.将HelloDll.dll库文件放到HelloJNI.class文件目录下

JAVA-JNI java程序调用c/c++程序

2.在cmd中java HelloJNI

JAVA-JNI java程序调用c/c++程序

 

相关文章: