JNA知识点

>JNA入门1

 

JNI(java native Interface)

它允许Java代码和其他语言(尤其C/C++)写的代码进行交互,只要遵守调用约定即可.

如果已经有了.dll/.so文件,我们首先需要使用C语言另外写一个.dll/.so共享库,这个共享库的作用在于能够  实现c语言的数据类型映射到java语言的数据类型,

利用jni调用.dll/.so文件,然后利用java载入这个库文件.dll/.so,最后编写Java native函数来作为动态链接库的代理,

最后java就可以通过代理来调用这个函数了。

 JNA(java  native access)是建立在经典的JNI基础之上的一个框架。与jni的区别在于不需要写动态链接库文件。

JNA中,它提供了一个动态的C语言编写的转发器,可以自动实现Java和C的数据类型映射,你不再需要编写C动态链接库。

     图1.  JNI处理的流程                          图2.JNA处理的流程

 

 

 

 

 

转载

>http://www.lxway.com/811564226.htm

 

posted @ 2017-09-01 20:55  AlisonGavin  阅读(224)  评论(0)    收藏  举报