第一个JNI探索,小实验
文档下载地址:http://download.csdn.net/detail/u010476739/8065987
測试环境,vs2010旗舰版。win7旗舰 64位 MyEclipse2014
1、编写一个java类:
public class NativeClass { public native void show(); public static void main(String[] args) { System.loadLibrary("NativeClass"); new NativeClass().show(); } }
2、编译java生成class并生成.h文件
正常编译成class文件,将这个class文件放在桌面上,然后使用:javahNativeClass生成NativeClass.h文件。如图所看到的:
3、编写C++代码
3.1 打开vs2010-->新建项目win32类型:
3.2 建立成功后书写代码,代码为:
//NativeClass.cpp : #include "stdafx.h" #include "jni.h" #include "NativeClass.h" JNIEXPORT void JNICALL Java_NativeClass_show (JNIEnv *, jobject) { printf("Helloworld!\n"); return; }
3.3 C++project终于如图:
3.4 加入引用头文件
由于输入的代码里有:#include "jni.h" #include"NativeClass.h",所以要将这两个头文件放在vs2010的文件夹里。jni.h在:E:\Java\jdk1.7.0_45\include\路径下(或者你也须要将该文件夹下的子文件夹win32中jawt_md.h一起复制过去),如图
3.5 调整生成配置
调整vs2010生成时的配置:(由于我的系统是win7 64位,编译成的dll要是64bit的。eclipse中也要调用64位的才行),配置过程例如以下:
3.6 生成dll文件
选择执行或f5,如图:
生成后找到这个dll文件。如图:
4、eclipse使用dll文件编译执行
将这个dll文件放入我们eclipse中,如图:
以下让我们在eclipse中执行就执行就能够了,效果:
OK,成功!