////// C++
// student
结构体定义
typedef struct
{
int age;
char name[20];
}Student;
// 修改java对象的属性值
JNAAPI bool changeObjs(Student stu[],int size)
{
for(int i=0;i<size;i++)
{
stu[i].age*=10;
strcpy(stu[i].name,"wokettas");
}
return true;
}
/////// Java
// JNA调用方法
Student student=new Student();
Student[] stus=(Student[]) student.toArray(2); //分配大小为2的结构体数组
stus[0].age=1;
stus[0].name=Arrays.copyOf("k1".getBytes(), 20);
stus[1].age=2;
stus[1].name=Arrays.copyOf("k2".getBytes(),20);
Gui.gui.changeObjs(stus, stus.length);