我仍在使用ctypes编写我的c代码的python接口。今天,我用python版本取代了我的文件阅读功能,这个版本由其他人使用NumPy编程。 'old'c版本用byref(p_data)调用,而p_data = PFloat()(见下文)。主函数采用p_data。如何使用NumPy数组与ctypes?
旧文件读出:
p_data=POINTER(c_float)
foo.read(filename,byref(p_data))
result=foo.pymain(p_data)
在另一方面蛇皮文件读取功能返回NumPy的阵列。我现在的问题是:
如何将NumPy数组转换为POINTER(c_float)?
我GOOGLE了,但只找到了其他方式:C arrays through ctypes accessed as NumPy arrays和东西我不明白:C-Types Foreign Function Interface (numpy.ctypeslib)
[更新] 示例代码纠正一个错误
谢谢!这真的很有帮助! – 2016-07-07 04:37:22