1
JNI攻略之一――建立一个简单的 JNI程序
江苏 无锡 缪小东
本篇和大家简单地建立一个 Java调用 C++代码的程序!关于细节请关注本博客下周的文章。
一、编写一个包含本地方法的类 NativeHello.java
// NativeHello.java
public class NativeHello {
public native void HelloWorld(String str);
static {
System.loadLibrary("hello");
}
}
二、编译此文件
javac NativeHello.java
三、生成头文件
javah NativeHello
此时在我的 c盘根目录下有以下三个文件:
NativeHello.java
NativeHello.class
NativeHello.h
四、在 VC++中建立一个 DLL
打开你的 VC++ 6.0工具,新建一个工程,选择“Win32 Dynamic-Link Library”,取名为 hello(以
后生成的 dll文件名就为 hello,在 NativeHello的静态方法中加载的就是此名称的动态链接库),同时该
链接库存放在 c盘的子目录“hello”文件夹中。见下图:
上面的操作完成后,点击“确定”按钮,会完成设置,同时跳出下面的窗口:
我们选择“一个空的 DLL工程(E)”。点击“完成”按钮即可。下面就就进入了 VC++ 6.0 的工作区
了。单击工具栏上红色的“新建”,创建一个 Text1文本。
2
选择“文件”菜单,将此文本保存致 c盘的根目录中,名称为“hello.cpp”。接着添加源文件、头文件。
进行此操作必须将操作必须将工作区视图变为“File View”。添加源文件的方法为:在“文件视图”中
右击“Source Files”,选择“添加文件到目录(F)…”选择你刚才保存到 c盘根目录的“hello.cpp”即可。
添加头文件就是将通过 javah命令得到的 HativeHello.h假如当前工程。最后必须将你的 JDK安装目录下
include目录中的 jni.h文件包含到工程中。(在我机器上该文件位于 jdk1.6.0\include\目录中)
以下是在“文件视图”中的所有必须的文件。将 NativeHello.h 头文件中的方法拷贝到 hello.cpp 文
3
件中,按照下图中 hello.cpp文件的内容写入代码!点击工具栏的图示红色的“Build”按钮,就完成了。
(假如 VC工具没有报错,你就很幸运了!完成!)
接着打开你的 hello文件夹,到其 Debug子目录下,将名为 hello.dll的文件拷贝到和 NativeHello类
同一个目录。
五、调试刚才的本地方法
在与 NativeHello 类和 hello.dll 相同的目录中建立以下的 java 程序,编译运行它。是不是在你的运
行平台上有"I am loading the native method !"这句话啊!!恭喜恭喜!成功了!
// Hello.java
public class Hello {
public static void main(String[] args){
new NativeHello().HelloWorld("I am loading the native method !");
}
}
以上是建立一个简单的 JNI程序的过程。讲了过程,没有讲原因,下周详细分析!分析 Java和 C、
++语言互操作的方方面面。(这方面也是相当简单的!希望大家在本博客的指到下很快精通 JNI!)
4
5
谢谢!
更多精彩请关注:
http://blog.163.com/miaoxiaodong78/
JNI攻略之一――建立一个简单的JNI程序
一、编写一个包含本地方法的类NativeHello.java
二、编译此文件
三、生成头文件
四、在VC++中建立一个DLL
五、调试刚才的本地方法
本文档为【JNI攻略之一――建立一个简单的JNI程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。