边缘颓废之 2017-12-20 02:12 采纳率: 100%
浏览 1333
已采纳

Java使用 JNA 调用dll 文件

求助:参数为 Structure** 这种 ,java中该怎么定义该参数类型呢?已经如何初始化呢?
例如:
c中的方法是(Face是 Structure 类型):
int Detect(Face** faces,int* count);

在java中要怎么定义这个方法的参数?及如何初始化?

  • 写回答

5条回答 默认 最新

  • 边缘颓废之 2018-01-03 06:40
    关注

    自己解决了,给其他不会的留个答案。
    Face** faces 参数声明为 PointerByRefence 类型,例如:
    Face.ByValue face = new Face.ByValue();//Face是自定义的构造体,网上搜一下就知道怎么写。
    PointerByReference face_arrays = new PointerByReference(face.getPointer());

        最终结果 face_arrays.getValues() 得到指针,再根据指针获取值
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • threenewbee 2017-12-20 02:18
    关注
    评论
  • 边缘颓废之 2017-12-20 02:23
    关注

    参数是 Structure** 这种形式,不是Structure* 这种,求解答。。

    评论
  • ZhihengTao 2017-12-20 03:39
    关注

    首先,java调用native方法(也就是c/c++)的方式叫做JNI
    其次,如何使用JNI(包括java---c/c++数据类型对应关系,native方法签名规则等),最好去找官方文档(google搜索: JNI 等关键字),你提问得到的答案
    也不过是别人找来的文档或哪里的博客,所以建议自己动手.

    评论
  • 边缘颓废之 2017-12-20 06:01
    关注

    没有写错哈,jna是java调用dll的一个框架,jni要自己写头文件什么的比较麻烦。。。

    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 求苹果推信imessage批量推信技术
  • ¥15 ubuntu 22.04 系统盘空间不足。隐藏的docker空间占用?(相关搜索:移动硬盘|管理系统)
  • ¥15 利用加权最小二乘法求亚马逊各类商品的价格指标?怎么求?
  • ¥15 c++ word自动化,为什么可用接口是空的?
  • ¥15 Matlab计算100000*100000的矩阵运算问题:
  • ¥50 VB6.0如何识别粘连的不规则的数字图片验证码
  • ¥16 需要完整的这份订单所有的代码,可以加钱
  • ¥15 Stata数据分析请教
  • ¥15 请教如何为VS2022搭建 Debug|win32的openCV环境?
  • ¥15 关于#c++#的问题:c++如何使用websocketpp实现websocket接口调用,求示例代码和相关资料