引用计数从不减少到零Py\u DECREF

2024-09-29 23:23:53 发布

您现在位置:Python中文网/ 问答频道 /正文

当我运行以下代码时,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;
}

Tags: 代码pyincludetimemainnullintpyobject
1条回答
网友
1楼 · 发布于 2024-09-29 23:23:53

当引用计数达到零时,指向的对象被销毁,内存被释放。你知道吗

这不会以任何方式影响您的指针,但是您将得到一个指向已释放内存的无效指针。你知道吗

这与“正常”C++完全相同;^ {< CD1>}不影响^ {< CD2>}的值,仅影响^ {< CD3>}和指针的有效性。你知道吗

相关问题 更多 >

    热门问题