Perl swig何时需要类型映射?
我在Perl swig何时需要类型映射?,perl,swig,Perl,Swig,我在.I文件中有这样一个函数: t_demo * t struct_new(); 我似乎不需要任何类型的地图,它只是工作。 转换后,我可以直接使用它: use test; $a = test::struct_new; 当swig需要类型映射时?例如,我们可以为t_demo创建“out”类型映射,并返回用此结构的选定成员填充的哈希: %typemap(out) t_demo { HV* tmp = newHV(); SV* t_data = newSViv($1.int_field
.I
文件中有这样一个函数:
t_demo * t struct_new();
我似乎不需要任何类型的地图,它只是工作。
转换后,我可以直接使用它:
use test;
$a = test::struct_new;
当swig需要类型映射时?例如,我们可以为t_demo创建“out”类型映射,并返回用此结构的选定成员填充的哈希:
%typemap(out) t_demo {
HV* tmp = newHV();
SV* t_data = newSViv($1.int_field1);
hv_store(tmp, "int_field1", 4, t_data, 0);
$result = sv_2mortal(newRV_noinc((SV*) tmp));
argvi++;
}
swig手册中记录了更多的使用情况。但是我可以获得具有访问器功能的字段,对吗?因此这不是必需的…“类型映射通常不是使用swig所必需的一部分”,但在某些边缘情况下可能需要这样做-例如,没有访问器,无法添加。这是有意义的。顺便说一句,SWIG的代码>阴影>代码>选项只与C++一起工作吗?我试图让它与c结构,但不工作。。。