c调用python, 内存泄露问题

空间都释放了的,为什么多次调用此函数时,占用内存长的很快
bool CallPyWaveletConvert(STWaveletConvertInfo& info)
{
PyObject* pArgs = PyTuple_New(1);
PyObject* pList = PyList_New(0);

int iLen = info.m_iInputDataLen;
for (int i = 0; i < iLen; i++)
{
    PyObject* pValue = PyFloat_FromDouble(info.m_fInputData[i]);
    PyList_Append(pList, pValue);
}

PyTuple_SetItem(pArgs, 0, pList);
PyObject* pRet = PyEval_CallObject(pFuncWaveletConvert, pArgs);

info.m_iOutputDataLen = PyList_Size(pRet);
for(int i=0;i<info.m_iOutputDataLen;++i) 
{
    PyObject *pNewAge = PyList_GetItem(pRet,i);

    PyArg_Parse(pNewAge, "d", &info.m_fOutputData[i]);
}


Py_XDECREF(pList);
Py_XDECREF(pRet);

return true;

}

vfbf是时光上高速告诉对方

可以查看一下python中你的对象的引用计数等,看是否确实释放了,或者gc还没有触发

int iLen = info.m_iInputDataLen;
for (int i = 0; i < iLen; i++)
{
PyObject* pValue = PyFloat_FromDouble(info.m_fInputData[i]);
PyList_Append(pList, pValue);
Py_XDECREF(pValue);
}