什么是JNA
- JNA全称Java Native Access,是JNI之外另一个Java访问C++的混编框架
- JNA非Java自带功能,需要导入第三方类库
- JNA只支持Java调用C++,不支持C++调用Java
- JNA对C++代码和编译无特殊要求,普通的C++代码都可调用,非常方便
- JNA直接将dll文件加载为一个接口对象,只要定义一个接口,里面包含和C++同名的方法即可,使用非常方便
- JNA在Java和C++两端编码都十分方便,这正是它流行的原因
- JNA的效率远低于JNI,可达百倍之多,方便的同时带来的必然是性能损失。但是偶尔调用影响并不大,所以它在大多时候仍是首选。在Java和C++互调非常频繁的场景下,应当使用JNI
JNA调用DLL示例
JNA开发包下载地址:Java Native Access 5.5.0
//hello.cpp
#include
extern "C" __declspec(dllexport)
void hello() {
std::cout
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?