JNI实现实例

    转载自:http://www.iteye.com/topic/304594


一、关于JNI

JNI是Java Native Interface的缩写,中文为JAVA本地调用。从Java1.1开始,Java Native Interface(JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。

二、JNI在Windows环境的实现:

1、在Java程序代码中对将要调用的方法做本地声明,关键字为native。并且只需要声明,而不需要具体实现。

新建TestHello.java, 输入以下内容:



2. 编译

在cmd命令行中,javac TestHello.java编译生成TestHello.class文件, javah TestHello生成TestHello.h头文件(即为jni代理stub的接口)

3. 创建动态库(我用的是VC++ 6.0)

1>新建一个动态库



2>打开项目所在的文件目录,将步骤2中生成的TestHello.h文件复制到此目录。点击左边中间的FileView,切换到文件浏览模式。在Header Files上点击右键,选择Add Files to Folder…。

选择TestHello.h文件,点击OK。


3> 打开StdAfx.h, 在最后添加: #include "TestHello.h"

4>打开TestHello.cpp 在最后添加以下代码:


5>VC的菜单上选择Tools-Options…,打开选项对话框。在Directories文件夹,添加上jdk所在文件夹下的includeinclude\win32文件夹。


点击VC上的菜单项Build-Build All,生成TestHello.dll

6> VC项目Debug文件夹中的TestHello.dll复制到TestHello.class所在的文件夹下。

7>在命令行下输入java TestHello








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值