第一步声明本地变量
例如class NativeHello{
public native void nativeHelloWorld();
static{
Systemloodlibrary(nativeTest);//调用nativeTestdll库文件
}
}
第二步生成头文件
先用javac编译NativeHellojava再用javah生成c的头文件h文件
第三步生成根文件
命令如下javah stubs NativeHello (生成NativeHelloc文件)
第四步:编写C程序(此处假定文件名为NativeTestc)
#include #include //指第二步生成的h文件#include //指JDK的include下的文件void Nativehello_nativeHelloWorld(struct HNativeHello *this){
}/
*函数名Nativehello_nativeHelloWorld不能任意指定可以从javah生成的头文件中查到也可用 如下方法命名类名_本地方法名(struct H类名 *this)*/
第五步编译DLL文件
将nativeTestc和NativeHelloc编译成DLL库文件文件名与Systemloodlibrary(nativeTest)中的文件同名
最后讲一下测试的方法源文件如下:
class UseNative{
public static void main(String []args){
NativeHello nh=new NativeHello();
nhnativeHelloWorld();
}
}