Как получить счетчик ссылок PyObject?

Как получить счетчик ссылок PyObject из C ++?

Есть функции Py_INCREF а также Py_DECREF которые увеличивают / уменьшают его, но я не нашел ни одной функции, которая бы возвращала счетчик объектов.

Мне это нужно для отладки.

10

Решение

Счетчик ссылок каждого объекта хранится в PyObject сам в переменной ob_refcnt. Вы можете получить прямой доступ к этому.

typedef struct _object {
_PyObject_HEAD_EXTRA
Py_ssize_t ob_refcnt;          # Reference count
struct _typeobject *ob_type;
} PyObject;

Кроме того, вы можете использовать Py_REFCNT макрос.

12

Другие решения


По вопросам рекламы [email protected]