So erhalten Sie die Referenzanzahl von a PyObject
aus C++?
Es gibt Funktionen Py_INCREF
Und Py_DECREF
die es erhöhen/verringern, aber ich habe keine Funktion gefunden, die die Referenzanzahl des Objekts zurückgibt.
Ich brauche es für Debugging-Zwecke.
Die Referenzanzahl jedes einzelnen Objekts wird in gespeichert PyObject
selbst, in einer Variablen namens ob_refcnt
. Darauf können Sie direkt zugreifen.
typedef struct _object {
_PyObject_HEAD_EXTRA
Py_ssize_t ob_refcnt; # Reference count
struct _typeobject *ob_type;
} PyObject;
Alternativ können Sie die verwenden Py_REFCNT
Makro.