Ich schreibe immer noch auf eine Python-Schnittstelle für meinen c-Code mit Ctypes. Heute habe ich meine Dateilesefunktion durch eine Python-Version ersetzt, die von jemand anderem programmiert wurde, der NumPy benutzt. Die 'alte' c-Version wurde mit einem byref (p_data) aufgerufen, während p_data = PFloat() (siehe unten). Die Hauptfunktion übernimmt die p_data.Wie verwendet man NumPy Array mit Ctypes?
Alte Datei lesen:
p_data=POINTER(c_float)
foo.read(filename,byref(p_data))
result=foo.pymain(p_data)
Die Python-Datei Lesefunktion auf der anderen Seite gibt eine NumPy Array. Meine Frage ist jetzt:
Wie konvertiere ich ein NumPy-Array zu POINTER (c_float)?
Ich googeln fand aber nur umgekehrt: C arrays through ctypes accessed as NumPy arrays und Dinge, die ich nicht verstehen: C-Types Foreign Function Interface (numpy.ctypeslib)
[update] einen Fehler im Beispielcode korrigiert
Vielen Dank! Das war sehr hilfreich! –