weixin_53582602
weixin_53582602
采纳率25%
2021-05-11 09:48 阅读 63
已结题

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

50

工作中遇到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中的结构体代码应该怎么构建

 

  • 点赞
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • weixin_43863744 橙子树下 2021-05-11 13:51

    定义一个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继续私聊

    点赞 评论 复制链接分享
  • weixin_43863744 橙子树下 2021-05-11 14:12

    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()

     

     

    点赞 评论 复制链接分享
  • weixin_43863744 橙子树下 2021-05-11 14:17

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

     

    点赞 评论 复制链接分享

相关推荐