通过SWIG将简单的numpy数组传递给C.

时间:2012-01-12 09:30:28

标签: python c numpy swig

我想通过SWIG将已知大小和类型的numpy数组传递给C函数

# .py
data = numpy.arange( N , dtype=numpy.int32 )
external_c_function( data )

# .i
extern void external_c_function( int32_t* data );

# .c
void external_c_function( int32_t* data)
{
    // ...
}

不幸的是,我会收到错误:

TypeError: in method 'external_c_function', argument 1 of type 'int32_t *'

将numpy数组传递给SWIG的最简单方法是什么?

1 个答案:

答案 0 :(得分:1)

您可以使用numpy.i。只需查看http://www.scipy.org/Cookbook/SWIG_NumPy_examples

即可