在之前的例子里
应用架构之(VC+Python+Flex)
链接地址为: http://www.gzios.com/ppar/bbs/forum.php?mod=viewthread&tid=331
里面有PYTHON调用DLL库的方法,现在我说一个JAVA调用DLL/SO的一个JNI库---JNA。
解释一下,JNI 就是 Java Native Interface的缩写,中文为JAVA本地调用。从Java1.1开始,Java Native Interface(JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。
说明: 在funDll.dll中有一个HelloWorld方法,如果要在JNA中使用的话,要申明再使用它。如下面:public void HelloWorld(WString value);
这样就可以调用DLL中的 EXPORT int HelloWorld(){ cout <<"hello world" <<endl; return 0;
} 方法了。
附件中我上传了所需要的JAR包,还有一本电子书。
链接地址为: http://www.gzios.com/ppar/bbs/forum.php?mod=viewthread&tid=331
里面有PYTHON调用DLL库的方法,现在我说一个JAVA调用DLL/SO的一个JNI库---JNA。
解释一下,JNI 就是 Java Native Interface的缩写,中文为JAVA本地调用。从Java1.1开始,Java Native Interface(JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。
而JNA(Java Native Access)框架是一个开源的Java框架,是SUN公司主导开发的,建立在经典的JNI的基础之上的一个框架。
它的下载地址为:
JNA
项目地址:
JNA非常强大、易用,如果下载不了的话,csdn提拱了一个下载地址:
http://download.csdn.net/download/yxhshuaiman/3797838
下面通过一个简单例子说明如何使用。
说明: 在funDll.dll中有一个HelloWorld方法,如果要在JNA中使用的话,要申明再使用它。如下面:public void HelloWorld(WString value);
这样就可以调用DLL中的 EXPORT int HelloWorld(){ cout <<"hello world" <<endl; return 0;
} 方法了。
附件中我上传了所需要的JAR包,还有一本电子书。
有需要的可以下载使用。