jna 方便的java native 访问包
jna 方便的java native 访问包,提供了灵活的native 方法到java 代码的映射,基于了
包含的特性
- 自动进行java 到native 方法的映射,对于主要数据类型也支持通过简单映射处理
- 支持不部分支持java 得平台
- 自动进行java string 与c 的转换
- 支持struct以及union 参数,返回类型
- 函数指针支持(callback)
- 对于native 函数指针,自动生成java proxy
- 引用参数支持
- java arrary 以及nio buffer 参数处理
- 自定义java 方法到native 方法映射支持
- native 指针的的类型安全处理
- windows com 支持
说明
目前有不少社区项目有使用到此包进行native 的调用,当然此包性能并不是特别快,如果希望更快的,可以选择基于jni 的,我在简单开发
easytier-ffi java 包的时候也选择了此工具(主要是开发简单快速),对于java 项目希望调用native 方法的是一个值得选择的工具(目前一直在更新)
参考资料
https://github.com/rongfengliang/easytier-ffi-jna
https://github.com/java-native-access/jna
https://github.com/java-native-access/jna/tree/master/contrib