Java调用DLL

最近做项目,用到了Java调用Dll的知识,在此记录一下。

知识都是来自网络,我整理了一下。本机环境:jdk1.8(64) tomcat8

Java调用DLL有多种方式,常用的方式有JNI、JNative、JNA等。

(1)、JNI
可以参考这篇文章:http://www.cnblogs.com/baokang/p/4979243.html
缺点:操作很麻烦,需要在Java端先定义类A和方法,再生成c需要的头文件,再生成dll,生成的dll只能在A中使用。

(2)、JNative
可以参考这两篇文章:
http://blog.csdn.net/testcs_dn/article/details/27237509
http://blog.csdn.net/testcs_dn/article/details/26980027
很感谢作者,文章非常详细。尤其是介绍dll时,“这样c++之外其它语言是调用不了的;我们需要在头文件的函数声明中添加extern "C"标志”,对于我这个c盲来说简直帮了大忙了。
问题:我用的JDK是64位的,运行是报错:JNative library no loaded sorry!分析:JNaticeCpp.dll是32位的,要是有64位的应该可以用。但官网很久都没有更新了。64位的它还不知道在哪里呢。 网上有小伙伴说是换成32的JDK,考虑了一下,还是不换JDK,另谋出路。

(3)、JNA
可以参考这篇文章:http://blog.csdn.net/liujiahan629629/article/details/41780611

OK了,Java调用到Dll了。

文章为本人原创,转载请标明出处。

转载于:https://www.cnblogs.com/xiaqiqi/p/6889117.html

你可能感兴趣的:(java,c/c++)