ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 2006-11-15 | JNI简单用法

2006-11-15 | JNI简单用法

原创 Linux操作系统 作者:xyzlotus 时间:2007-12-18 08:45:56 0 删除 编辑

学习了JNI,大概总结了一下。不过在做的过程中,我也碰到了好多问题,不过终于都搞定了,很有成就感的说。

1. Java class

package com.xida.jnitest;

public class Testjni {

       native void testJNIcall();--------------通过NATIVE方法调用C的方法。

       static {

              System.loadLibrary("testJNIImpl");

       }      

       public static void main(String[] args) {

              Testjni test = new Testjni();

              test.testJNIcall();               

       } 

2. 编译 java class

3.javah—生成C的.h 文件

 javah -jni -classpath D:\myworkspace\JavaTrainning -o Testjni.h com.xida.jnitest.Testjni 

4. c/c++ file

 #include

#include "Testjni.h"

JNIEXPORT void JNICALL Java_com_xida_jnitest_Testjni_testJNIcall

  (JNIEnv *env, jobject jobj) 

{

printf("aaaaaaaaaaaaaaaaa");

}  

5.make dll

 cl -Ic:/j2sdk1.4.2_09/include -Ic:/j2sdk1.4.2_09/include/win32 -LD testJNIImpl.cpp -FetestJNIImpl.dll

如果大家对VC很熟悉的话,可以用VC建立一个空的win32 Dynamic Link library工程,然后把刚才产生的头文件包括进去,然后自己写.cpp文件。注意在tools/option下的Directories选项中include进去jdk目录下的include目录,和include目录下的win32目录,最后编译产生.dll文件。

6.将.dll文件拷贝到工程的目录下,注意要把当前工程的目录设到PATH里边去,要不运行会出错误。

或者将.dll文件拷贝到PATH的路径下,比如 jdk/bin目录下,运行就可以了

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12443821/viewspace-769/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2007-12-17

  • 博文量
    41
  • 访问量
    77043