gpt4 book ai didi

python - 引用计数永远不会减少到零 Py_DECREF

转载 作者:行者123 更新时间:2023-11-30 03:52:45 24 4
gpt4 key购买 nike

当我运行以下代码时,while 循环从未停止。为什么?

当引用数为零时,PyObject指针会变为Null吗?

#include <sched.h>
#include <Python.h>
int main() {
Py_Initialize();
PyObject *pModule;
int time=0;
pModule = PyImport_ImportModule("entry");
while(pModule!=NULL)
{
Py_DECREF(pModule);
time++;
printf("this is decref pmodule, times= %d",time);
}
Py_Finalize();
return 0;
}

最佳答案

当引用计数为零时,指向的对象被销毁,内存被释放。

这不会以任何方式影响您的指针,但您会留下一个指向已释放内存的无效指针。

这与“普通”C++ 完全相同; delete p不影响p的值,只影响*p的值和指针的有效性。

关于python - 引用计数永远不会减少到零 Py_DECREF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30501373/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com