1

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

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

传递给

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

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

4

1 回答 1

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)

以上是我的工作示例...根据您的目的相应地更改代码...

于 2012-11-27T04:22:07.193 回答