Python嵌入c++内存泄漏
python embed in c++ memory leak
当我在c++中嵌入python时,我遇到了内存泄漏问题。
下面的代码是一个简化的部分,当运行它时,内存在运行过程中不断增加,这似乎是Py_DECREF
没有工作。有没有一种方法可以通过循环收集内存,这样内存就不会增加?因为当我有一个更复杂的项目时,内存消耗真的很大。
#include <Python.h>
float test(double tedata[],int count){
PyObject *datalist=PyList_New(count);
for (int i=0;i<count;i++) {
PyList_SetItem(datalist,i,Py_BuildValue("f",tedata[i]));
}
Py_DECREF(datalist);
printf("for show more slowing");
return 0;
}
void main(){
float pr_label;
double tedata[]= {44.0093,4.4871,305.012201,3.1311,11.1491,109.388698,34.0742,0.04,43.913701};
int count = sizeof(tedata) / sizeof(double);
Py_Initialize();
for(int i=0;i<=500000;i++){
test(tedata,count);
}
Py_Finalize();
}
您没有释放数据列表中的对象。其中的每个条目都有一个引用计数。
相关文章:
- C++功能泄漏内存,我是C++新手,不确定如何解决
- 我的堆栈弹出式磁带的实现是否泄漏内存?
- 将 c++ 向量转换为字符 ** 而不会泄漏内存
- 析构函数 C++ 使泄漏内存
- 构造函数对象赋值是否泄漏内存
- corba :: orb_init泄漏内存
- Gmock泄漏内存
- 如何在不泄漏内存的情况下删除链接列表
- Visual C ODBC关闭记录集泄漏内存
- 为什么泄漏内存比在动态数组上执行 delete[] 慢
- OpenGL正在泄漏内存.哪个对象未释放
- 可以std ::退出泄漏内存
- uiautomation findall泄漏内存
- 为什么在此OpenCL代码中泄漏内存,为什么要泄漏内存
- pthread在完成后会泄漏内存
- win32 标准::线程泄漏内存
- 返回指向同一变量的指针是否会泄漏内存
- 使用clectType(new any_type())可能会泄漏内存泄漏
- Windows开发:如何确定我的应用程序是否正在泄漏内存
- WinHttp打开泄漏内存