java调用dll

只推荐一种方法,jni方式你放弃吧,很繁琐

jnative好用,但是文件路径等等还是有问题,不能像java一样去使用。也不推荐

大哭

jna调用,意外之喜很好用的。

简而言之,jna需要自己定义java接口,这个类的方法和dll文件一样,你必须十分清楚dll文件的结构和里面的方法以及返回值,参数。


注意事项:java调用dll  需要jdk32位版本


附上 jna接口(和dll文件对应的函数名和方法一致,):

package com.dewell.jnativetest;


import com.sun.jna.Library;
import com.sun.jna.Native;


/**
 * @author 作者 :xinyao
 * @version 创建时间:2018年4月23日 下午5:06:27
 */
public interface Jna extends Library {


Jna instanceDll = (Jna) Native.loadLibrary("EDI_Middleware", Jna.class);


public void initial_DM();


public String gen_edi2carrier(Double d);


}

扫描二维码关注公众号,回复: 2319363 查看本文章

微笑

jnaTest:

package com.dewell.jnativetest;


/**
 * @author 作者 :xinyao
 * @version 创建时间:2018年4月23日 下午5:10:36
 */
public class JnaTest {
public static void main(String[] args) {
Double double1 = new Double(123456789);
Jna.instanceDll.initial_DM();
String gen_edi2carrier = Jna.instanceDll.gen_edi2carrier(double1);
System.out.println(gen_edi2carrier);
}

}


文章参考链接:

https://blog.csdn.net/jswawawa/article/details/53738554


猜你喜欢

转载自blog.csdn.net/qq_36874292/article/details/80053027