擅长:python、mysql、java
<p>SciPy文档正是关于这一点的:如何通过SWIG将numpy数组传递给C代码(反之亦然)。看看<a href="http://docs.scipy.org/doc/numpy/reference/swig.html" rel="nofollow">here</a>。在</p>
<p>基本上,有一个swig接口文件<code>numpy.i</code>,您可以用以下方式使用它。在swig接口文件中,您包括:</p>
<pre><code>%{
#define SWIG_FILE_WITH_INIT
%}
%include "numpy.i"
%init %{
import_array();
%}
</code></pre>
<p>然后在您的接口文件中添加,在提到C函数之前:</p>
^{pr2}$
<p>这适用于普通的C<code>float</code>数组。我不太清楚什么是<code>float* []</code>。您可能需要为此编写自己的类型映射,为此可以使用<code>numpy.i</code>提供的实用程序宏。但在上面提到的numpy.i文档或相关的<a href="http://www.swig.org/Doc3.0/SWIGDocumentation.html#Python_nn53" rel="nofollow">swig typemap docs</a>中都有解释</p>