java - Java+SWIG 如何访问结构中数组的元素?
问题描述
尝试将 C 结构传入和传出 Java。一切正常,除了我无法弄清楚如何在结构内读取和写入数组的元素。我阅读了有关 memberin 类型映射的信息,但我确信我仍然没有正确使用它。我的模块文件如下所示:
%include "typemaps.i"
%typemap(memberin) uint8_t [8] {
int i;
for (i = 0; i < 8; i++) {
$1[i] = $input[i];
}
}
typedef struct
{
uint8_t myarray[8];
int myvar;
} MyStruct;
在 Java 中,我希望能够像这样使用生成的 MyArray 对象:
MyStruct s = new MyStruct();
SWIGTYPE_p_uint8_t[] myarray = s.getMyarray();
s.setMyarray(myarray);
但相反,生成的 getMyarray() 返回 SWIGTYPE_p_uint8_t 而不是它的数组。这同样适用于 s.setMyArray 的参数。
有人可以帮忙吗?
解决方案
推荐阅读
- angular - 当 routerLink 到其他组件时,Angular 路由器也会加载先前的组件
- excel - M中的范围函数?
- c - 不知道如何正确定义我的交换函数
- python - 在 conda env [Errorno 13] 中安装 pyldavis 时 Permession denied 错误
- php - Codeigniter MySQL 根据会话中的用户 ID 过滤数据
- javascript - 如何从这个 JSON 文件中检索图像链接并将它们放入 React 中的数组中?
- python - 结合城市和国家字符串的 Pandas
- javascript - 如何遍历列表的javascript数组并检查值是否存在然后更新否则添加新数据
- javascript - 日元的excelJs货币格式
- javascript - 加载、分页和过滤 ComboBoxField(提取)