我正在尝试从使用 SWIG for Python 包装的 C 函数输出值数组。我尝试做的方式是使用以下类型映射。
伪代码:
int oldmain() {
float *output = {0,1};
return output;
}
类型图:
%typemap(out) float* {
int i;
$result = PyList_New($1_dim0);
for (i = 0; i < $1_dim0; i++) {
PyObject *o = PyFloat_FromDouble((double) $1[i]);
PyList_SetItem($result,i,o);
}
}
我的代码编译得很好,但是当我运行访问这个函数时它挂起(没有更多的方法来调试它)。
关于我哪里出错的任何建议?
谢谢。