高校计算机

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

java的native使用方法

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

声明native方法:如果你想将一个方法做为一个本地方法的话,那么你就必须声明改方法为 native的,并且不能实现。其中方法的参数和返回值在后面讲述。 Load动态库:System.loadLibrary("hello");加载动态库(我们可以这样理解:我们的方法 displayHelloWorld()没有实现,但是我们在下面就直接使用了,所以必须在使用之前对它进行初始化)这里一般是以static块进行加载的。同时需要注意的是System.loadLibrary();的参数“hello”是动态库的名字。

  2)编译

  没有什么好说的了 javac HelloWorld.java

  3)生成扩展名为h的头文件

  javah -jni HelloWorld

  头文件的内容:/* DO NOT EDIT THIS FILE - it is machine generated */

  1. include

  /* Header for class HelloWorld */

  1. ifndef _Included_HelloWorld 2. define _Included_HelloWorld 3. ifdef __cplusplus

  extern "C" {

  1. endif

  /*

  * Class: HelloWorld

  * Method: displayHelloWorld

  * Signature: ()V

  * /

  JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld (JNIEnv *, jobject);

  1. ifdef __cplusplus

  }

  1. endif 2. endif(这里我们可以这样理解:这个h文件相当于我们在java里面的接口,这里声明了一个 Java_HelloWorld_displayHelloWorld (JNIEnv *, jobject);方法,然后在我们的本地方法里面实现这个方法,也就是说我们在编写C/C++程序的时候所使用的方法名必须和这里的一致)。

  4) 编写本地方法实现和由javah命令生成的头文件里面声明的方法名相同的方法。

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

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