[置顶] 初次使用JNI

1、在Eclipse中编写native方法声明

格式:[public] native 返回值 方法名(参数列表) ;

2、使用JDK的javah生成本地方法头文件

命令格式:javah 完整的类全名

3、编写本地dll文件

  • 使用VS2005 生成一个空的DLL工程项目
  • 将生成的本地方法头文件导入到项目中
  • 新建一个源文件,对方法进行实现
  • 编译源文件,注意:编译时需要导入的jni.h,jni_md.h头文件可以在JDK的include文件夹中找到,复制并导入到VS工程项目中即可
  • 如果在编译过程中没有任何错误,但又没有生成DLL,可能是因为输出目录的问题,设置项目|属性|配置属性|常规|输出目录为制定目录
  • 使用生成工具生成dll

 #include "TestNative.h" #include "iostream" using namespace std; JNIEXPORT void JNICALL Java_TestNative_sayHello (JNIEnv * env, jobject obj) { cout << "Hello World" <<endl; }

4、在Eclipse中调用dll

  •  为dll设置系统环境变量,以方便导入
  • 使用System.loadLibrary("DLL文件名")导入
  • 调用相应的本地方法

 public class TestNative { public native void sayHello() ; public static void main(String[] args) { System.loadLibrary("NativeTest"); TestNative tst = new TestNative(); tst.sayHello(); } }

更多文章:

http://www.ibm.com/developerworks/cn/java/j-lo-jni/index.html

你可能感兴趣的:([置顶] 初次使用JNI)