Angenommen habe ich eine C-Struktur wie dieseSWIG Speicherproblem Array innerhalb einer Struktur der Zuweisung
struct foo {
int sz;
struct bar **arr;
};
In meiner SWIG Datei, verwende ich „carrays.i“ mir zu geben, die Kontrolle über das Array innerhalb dieser Struktur. Hier verwende ich
%module mdl
%include "carrays.i"
%array_functions(struct bar*, barArray)
Dann reserviere ich Speicher für dieses Array in Python.
a = mdl.foo()
a.arr = mdl.new_barArray(sz)
Meine Frage ist, sollte ich die Erinnerung an die zugeordnete Array frei von
mdl.delete_barArray(a.arr)
Aufruf, bevor ich die aktuelle Funktion zu verlassen, oder SWIG wird dies automatisch für mich tun, so brauche ich nicht sich darum kümmern?