你所不知道的java调用dll

       前段时间,帮客户做了点东西,用java调用dll,最近要写博客呢,就整理一下,给现在将要用和以后用的朋友们提供点方便,少走一些弯路。

      总的来说,java调用dll还是比较顺利的,现在先说一下什么是dll吧,dll是Dynamic Link Library 的缩写形式,中文是动态链接库,是一个包含多个程序同时使用的代码和数据的库,dll不是可执行文件,不过可以被调用。

     网上有多种调用方法有JNA调用的,有JNI调用的,还有JNative调用的,经过比较,我选择了JNative,JNI的方法是我调用so的时候,以后会介绍的。

     首先要下载JNative组件,jnative.sourceforge.net/ 到这里下载JNative开源项目,我下载的是1.3.2,1.4的我也试过,也没有什么区别,可能会有区别吧,只是我调用的时候没有涉及到。  然后就是解压了,获得三个文件,分别是:JNativeCpp.dlllibJNativeCpp.soJNative.jar JNativeCpp.dll Windows下用的,拷贝到windows / system32目录下;libJNativeCpp.so Linux下的,拷贝到系统目录下;JNative.jar 这是一个扩展包,导入工程LIB中或将其拷贝到jdk\jre\lib\ext 下,系统会自动加载。如果你是用eclipse调用的话,直接放到src目录下就可以了。

       测试用的dll我是用delphi写的一个名为MyJavaDll的dll,dll中包含一个Triple函数,返回一个整形的结果,调用方法我是参考网上的资料,自己编写的,可能会和网上的一些有些类似。

     首先配置好JNative组件的windows环境:

     Native要用到JNativeCpp.dll放在系统盘的\WINDOWS\system32

    JNative.jar导入工程中,新建一个调用类:

   

    java 代码

    package com.test;

 

    import org.xvolks.jnative.JNative;

    import org.xvolks.jnative.Type;

    import org.xvolks.jnative.exceptions.NativeException;

 

    publicclass AppSvrTestConnect {

          public AppSvrTestConnect() {   

            

                 }   

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值