JNA定义:
JNA:javaNativeAccess,是SUN公司开发的基于JNI的框架,JNI使得Java能够调用原生的c或者c++代码。
JNA与JNI的区别:
性能:JNA在性能上不如JNI,由于JNA是在JNI的基础上封装了一层。
移植性:JNA的可移植性要好于JNI,因为开发者不需要再编写作为代理的动态链接库。
使用:JNI使用native关键字,使用一个个java方法映射原生方法,利用System.loadLibrary;JNA使用一个java借口来代表动态链接库,使用Native.loadLibrary
JNA使用环境安装:
原生代码:使用C++或者C编写原生代码,或者使用已有的原生代码,在准备在java中使用的函数或者class前注明extern“C”__declspec(dllexport),然后打包成动态链接库库dll