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 に答える