如何从C ++获取PyObject
的引用计数?
有函数Py_INCREF
和Py_DECREF
增加/减少它,但我没有找到任何返回对象引用计数的函数。
我需要它用于调试目的。
答案 0 :(得分:12)
每个对象的引用计数存储在PyObject
本身,名为ob_refcnt
的变量中。您可以直接访问它。
typedef struct _object {
_PyObject_HEAD_EXTRA
Py_ssize_t ob_refcnt; # Reference count
struct _typeobject *ob_type;
} PyObject;
或者,您可以使用Py_REFCNT
Macro。