java本地接口_Java 本地化接口代码

java代码:

1、创建 一个包含native方法的类

public class HelloWorld {

/**

* Declare native method

*/

private native void displayHelloWorld();

/**

*

* Static piece

*/

static{

System.loadLibrary("hello") ;

}

/**

* Main test

* @param args

*/

public static void main(String[] args){

HelloWorld hw = new HelloWorld() ;

hw.displayHelloWorld();

}

}

2、javac 编译成class文件

3、javah -classpath . -jni cn.jni.HelloWorld 编译成h头文件

cn_jni_HelloWorld.h

内容如下:

/* DO NOT EDIT THIS FILE - it is machine generated */

#include

/* Header for class cn_jni_HelloWorld */

#ifndef _Included_cn_jni_HelloWorld

#define _Included_cn_jni_HelloWorld

#ifdef __cplusplus

extern "C" {

#endif

/*

* Class: cn_jni_HelloWorld

* Method: displayHelloWorld

* Signature: ()V

*/

JNIEXPORT void JNICALL Java_cn_jni_HelloWorld_displayHelloWorld

(JNIEnv *, jobject);

#ifdef __cplusplus

}

#endif

#endif

4、 用C/C++实现上方法 Java_cn_jni_HelloWorld_displayHelloWorld(JNIEnv *, jobject)

实现如下:

#include

#include

#include

JNIEXPORT void JNICALL Java_cn_jni_HelloWorld_displayHelloWorld(JNIEnv *env, jobject obj){

printf("Hello World! My Java native interface test success\n");

return ;

}

【注意】jni.h (java安装路径下:D:\Program Files\Java\jdk1.6.0_03\include目录下)复制到vc安装目录下的include目录下

同时将D:\Program Files\Java\jdk1.6.0_03\include\win32目录下的 jawt_md.h、jni_md.h也复制到vc安装目录下的include目录下

利用vc工具编译成hello.dll文件

5、将生成的hello.dll文件复制到:C:\WINDOWS\system32

6、运行HelloWorld

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值