用于python列表的SWIG类型图加倍*

时间:2012-11-23 05:32:14

标签: c++ python c swig

如何在swig中使用typemap转换python列表。 例如:

lst = [1.0,2.0,3.3] (Python list)

传递给

void print_arg(double *lst){} (c/c++ function)

如何为此编写swig接口文件。

1 个答案:

答案 0 :(得分:0)

执行此操作的方法是使用SWIG和carrays以及cpointer

示例代码为:

SWIG界面

%include "carrays.i"
%array_class(double, doubleArray);

Python模块

LEVEL = 3
thre = [1, 100, 10000]
a = example.doubleArray(LEVEL)
for i in xrange(LEVEL):
    a[i] = thre[i]

gd=example.GradedDouble(LEVEL,a)

以上是我的工作示例...为了您的目的而相应地更改代码......