Ich habe eine C-Funktion die eine Speicher mit malloc initialisiert und einen Pointer auf den kreierten Speicher zurückgibt. Die Definition der Funktion sieht wie folgt aus:
Code: Alles auswählen
frame_t * initFrame(int len);
Code: Alles auswählen
typedef struct {
int N;
int *array;
} frame_t;
Code: Alles auswählen
class Frame_t(Structure):
_fields_ = [ ("N", c_int),
("array", POINTER(c_int))]
Code: Alles auswählen
frameP = POINTER(Frame_t)()
lib.initFrame.restype = frameP
http://docs.python.org/lib/ctypes-return-types.html
Wie sieht es denn mit dem kreierten Speicher aus? Kann ich den wieder von Python aus löschen? Dazu habe ich eine Funktion
Code: Alles auswählen
void freeFrame(frame_t * frame);
Danke für die Hilfe,
Alban