jna 构造函数_如何将一个指向c结构的指针转换为jna结构

我想要将一个指向C结构的指针转换为jna结构。我使用jna从dll接收回调函数,该函数有一个参数,该参数是指向C结构的指针,当我尝试将指针转换为jna结构时,我得到错误的结构值。如何将一个指向c结构的指针转换为jna结构

这是C结构:

typedef struct

{

int x;

int y;

}Point;

Point *gpt;

typedef struct

{

int x;

int y;

Point pt1;

}Point2;

Point2 *gpt2;

也就是说在C回调函数的指针(void *的PARAMS),以点2 sctruct:

void __stdcall PointCallback(void *params, int param_size)

所以,我做了这个java中的代码接收回调并获得原始结构:

// Point.java

package Callback.UsePointLib;

import com.sun.jna.Structure;

public class Point extends Structure

{

public static class ByValue extends Point implements Structure.ByValue {}

public int x;

public int y;

}

//Point2.java

package Callback.UsePointLib;</

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值