空间都释放了的,为什么多次调用此函数时,占用内存长的很快
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;
}