您当前的位置: 首页 > 

命运之手

暂无认证

  • 1浏览

    0关注

    747博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【NDK】【006】JNA调用dll动态库,JNA数据类型对应表

命运之手 发布时间:2020-02-23 23:01:29 ,浏览量:1

什么是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             
关注
打赏
1654938663
查看更多评论
0.0422s