我仍在使用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