通过Javolution 生成结构体发送给C语言的问题

工作中遇到java和硬件交互,硬件使用的C语言已作为dll导入,目前卡在参数需要传结构体上,希望大神解答一下,十分感谢!

参数

  device_handle
  设备句柄值。

  pInfo
  设备信息结构体,详见ZCAN_DEVICE_INFO结构体。

这是某个函数需要的2个参数,在.h中结构体如下

typedef struct tagZCAN_DEVICE_INFO {
    USHORT hw_Version;
    USHORT fw_Version;
    USHORT dr_Version;
    USHORT in_Version;
    USHORT irq_Num;
    BYTE   can_Num;
    UCHAR  str_Serial_Num[20];
    UCHAR  str_hw_Type[40];
    USHORT reserved[4];
}ZCAN_DEVICE_INFO;

想请问java中的结构体代码应该怎么构建

 

定义一个ZCAN_DEVICE_INFO 类,里面含有 USHORT hw_Version;
    USHORT fw_Version;
    USHORT dr_Version;
    USHORT in_Version;
    USHORT irq_Num;
    BYTE   can_Num;
    UCHAR  str_Serial_Num[20];
    UCHAR  str_hw_Type[40];
    USHORT reserved[4];

这些元素

之后就用这个类初始化变量

例如a=new ZCAN_DEVICE_INFO()

传递时把它当作默认的object类型传递即可

有问题可以+Q继续私聊

class P{

private int a;

public void setA(int a){

this.a=a;

}

public int getA(int a){

this.a=a;

}

}

 

P p=new P()

p.setA(1)

a=p.getA()

 

 

或者可以把所有结构体中数据转化为字符串数组传递,这样就不存在冲突了