高校计算机

3773考试网计算机等级考试高校计算机正文

java的native使用方法

来源:fjzsksw.com 2009-11-4 10:52:36

代码2:

  1 #include "jni.h" 2 #include "HelloWorld.h"

  3 //#include other headers

  4 JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld(JNIEnv *env, jobject obj)

  {

  printf("Hello world!\n");

  return;

  }

  注意代码2中的第1行,需要将jni.h(该文件可以在%JAVA_HOME%/include文件夹下面找到)文件引入,因为在程序中的JNIEnv、 jobject等类型都是在该头文件中定义的;另外在第2行需要将HelloWorld.h头文件引入(我是这么理解的:相当于我们在编写java程序的时候,实现一个接口的话需要声明才可以,这里就是将HelloWorld.h头文件里面声明的方法加以实现。当然不一定是这样)。然后保存为 HelloWorldImp.c就ok了。

  5)生成动态库

  这里以在Windows中为例,需要生成dll文件。在保存HelloWorldImpl.c 文件夹下面,使用VC的编译器cl成。 cl(字母L的小写表示) -I(字母i的大写表示,与后面的路径之间没有空格)%java_home%\include -I%java_home%\include\win32 -LD HelloWorldImp.c -Fehello.dll 注意:生成的dll文件名在选项-Fe后面配置,这里是hello,因为在HelloWorld.java文件中我们loadLibary的时候使用的名字是hello。当然这里修改之后那里也需要修改。另外需要将-I%java_home%\include -I%java_home%\include\win32参数加上,因为在第四步里面编写本地方法的时候引入了jni.h文件。

  6) 运行程序 java HelloWorld就ok.

上一页  [1] [2] [3] 

触屏版 电脑版
3773考试网 琼ICP备12003406号-1