三室两厅一卫装修效果图:JNI全攻略之一--建立一个简单的JNI程序

来源:百度文库 编辑:中财网 时间:2024/04/28 21:10:55

JNI全攻略之一--建立一个简单的JNI程序  

2006-12-09 08:34:19|  分类: 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文本。

 

选择“文件”菜单,将此文本保存致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文件中,按照下图中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 !");

       }

}