我试图从一个指向一个int数组获取值,但它在PythonPython的双指针
C代码
double v;
const void *data;
pa_stream_peek(s, &data, &length);
v = ((const float*) data)[length/sizeof(float) -1];
的Python迄今为止
import ctypes
null_ptr = ctypes.c_void_p()
pa_stream_peek(stream, null_ptr, ctypes.c_ulong(length))
返回为c_void_p
问题是null_ptr有一个int值(内存地址?),但没有办法读取数组?
干杯奏效传递指针(c_float)()完美地工作。我也增加了更新型的包装像 从 pa_stream_peek.argtypes = [POINTER(pa_stream),POINTER(指针(无)),POINTER(c_size_t)] 到 pa_stream_peek.argtypes = [POINTER(pa_stream),POINTER(指针(c_float)),POINTER(c_size_t) ] 给予 data = POINTER(c_float)() pa_stream_peek(stream,data,ctypes.c_ulong(length)) v = data [0] – KillerKiwi 2009-05-06 20:09:41