工作中遇到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()
或者可以把所有结构体中数据转化为字符串数组传递,这样就不存在冲突了