参考Counting-Python / C API参考手册(Python教程)(参考资料)
引用计数
本节中的宏用于管理Python对象的引用计数
- void
Py_DECREF
( PyObject *o) - 减少对象o的引用计数。对象不能是NULL;如果你不确定它不是NULL,请使用
Py_XDECREF()
。如果referencecount达到零,则调用对象的类型的释放函数(不能是NULL).
- void
Py_CLEAR
( PyObject *o) - 减少对象o的引用计数。对象可能是NULL,在这种情况下宏没有效果;否则效果与
Py_DECREF()
相同,但参数也设置为NULL。Py_DECREF()
不适用于传递的对象,因为宏小心地使用临时变量并在减少其引用计数之前将参数设置为NULL.每当减少垃圾收集过程中可能遍历的可变值时,最好使用此宏.
以下函数用于Python的运行时动态嵌入:Py_IncRef(PyObject *o)
, Py_DecRef(PyObject *o)
。它们分别是Py_XINCREF()
和Py_XDECREF()
的简单导出功能版本.
以下函数或宏仅用于解释器核心:_Py_Dealloc()
, _Py_ForgetReference()
, _Py_NewReference()
,以及全局变量_Py_RefTotal
.
评论被关闭。