关于如何编写与调用java的JNI程序

最近做的一个项目需要用到java的JNI程序来调用dll动态链接库,看了不少别人博客,自己整理下了关于在java中使用JNI的一些步骤。

1.在myEclipse中新建一个Java工程。目录是 D:\JNIDemo

2.新建一个类:com.madman0621.jni.JNITest,并且书写native接口代码。

package com.madman0621.jni;

public class JNITest {
    public native void hello();
}

3.用命令行进入D:\JNIDemo\src\com\madman0621\jni目录,执行命令 javac JNITest.java ,将生成JNITest.class文件,将改文件剪切到D:\JNIDemo\bin\com\madman0621\jni目录下,覆盖之前的文件。

4.进入D:\JNIDemo\bin目录,运行命令 javah -jni com.madman0621.jni.JNITest将生成com_madman0621_jni_JNITest.h文件
这里写图片描述

5.然后将com_madman0621_jni_JNITest.h、jni.h和jni_md.h文件(后2个文件可以在jdk/include文件夹内找到,如果找不到可以直接上网搜索下载)这3个文件夹给C/C++开发端的头文件库中进行开发

#include <iostream>
#include <jni.h>
#include <com_Reliability.h>
#include <jni_md.h>

JNIEXPORT void JNICALL Java_com_madman0621_jni_JNITest_hello
    (JNIEnv *, jobject){
    std::cout<<"hello";
};

6.C/C++端开发完后生成的dll文件放置在C:\Windows\System32\ 目录下或者D:\JNIDemo\ 目录下,Javaweb项目可以放置到/lib文件夹下

7.新建一个测试类:com.madman0621.jni.Test

package com.madman0621.jni;

public class Test {
    static{
        //加载动态链接库
        System.loadLibrary("JNITest");
    }
    public static void main(String[] args) {
        //创建对象
        JNITest jni = new JNITest();
        //执行方法
        jni.hello();
    }
}

8.点击运行,大功告成。

参考:

jni:http://www.cnblogs.com/gansc23/archive/2011/03/27/1996790.html
C/C++书写dll链接库:http://www.cnblogs.com/icejoywoo/archive/2012/02/22/2363709.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值