【发布时间】:2011-07-19 08:09:44
【问题描述】:
我在.i文件中有这样的功能:
t_demo * t struct_new();
似乎我不需要任何类型映射,它就可以工作。 转换后可以直接使用:
use test;
$a = test::struct_new;
swig 什么时候需要 typemap?
【问题讨论】:
我在.i文件中有这样的功能:
t_demo * t struct_new();
似乎我不需要任何类型映射,它就可以工作。 转换后可以直接使用:
use test;
$a = test::struct_new;
swig 什么时候需要 typemap?
【问题讨论】:
例如,我们可以为 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 手册中记录了更多用途。
【讨论】:
-shadow 选项是否仅适用于 c++?我试图让它与 c 结构一起工作,但不工作......