如何在Java里创建一个native方法?

来源:百度知道 编辑:UC知道 时间:2024/09/23 15:59:19
麻烦请以C或C++举一个例子,用它写一个函数,然后在Java里调用。请给出详细的过程。谢谢
不好意思,单看例子还是很难懂。麻烦请指明实现native必要的语句和准确用法,还有如何调用jni.h,要把它和C++文件放在一起吗?是不是只有生成dll文件才行?在C++里是不是也要实现同样的类?

首先写一个GoodLuck 类,里面包含native本地方法,这是用作C/C++实现的。也就是用C/c++实现java的native方法。
public class GoodLuck {
private String string="";
private int num;
public GoodLuck() {
}
static {
System.out.println(System.getProperty("java.library.path"));
System.loadLibrary("goodluck");
}

public native static String getString();

public native static String getInt();

public native static void printOutString();

public native static void printOutInt();

public static void main(String args[]){
GoodLuck gl = new GoodLuck();
gl.getString();
gl.getInt();
gl.printOutString();
gl.printOutInt();
}
}
然后用 javac命令运行GoodLuck.java文件,生成GoodLuck.class文件:javac GoodLuck.java,然后再用javah运行GoodLuck.class文件:javah GoodLuck。生成GoodLuck.h。GoodLuck.h的内容为:
/* DO NOT EDIT THIS FILE - it is machine generated */
#include "jni.h"