擅长:python、mysql、java
<p>有一种更方便的方法可以完全避免警告:</p>
<p>不要先将数据创建为ctypes数组,然后将其转换为NumPy数组,只需立即将其创建为NumPy数组,然后在ctypes原型中使用<code>numpy.ctypeslib.ndpointer</code>作为类型说明符。例如,假设您有一个名为<code>f</code>的C函数,它以<code>char*</code>和<code>size_t</code>作为参数:</p>
<pre><code>void f(char* buf, size_t len);
</code></pre>
<p>你的ctypes原型应该是</p>
^{pr2}$
<p>你可以把这个函数称为</p>
<pre><code>a = numpy.zeros(10, numpy.uint8)
f(a, a.size)
</code></pre>