将gperftools与Boost.Python一起使用 我试图用Posith.python来跟踪在C++中用python扩展写的内存泄漏。我试着用。然而,它似乎根本不能很好地与Python配合使用
下面是一个简单的示例,我将公开将gperftools与Boost.Python一起使用 我试图用Posith.python来跟踪在C++中用python扩展写的内存泄漏。我试着用。然而,它似乎根本不能很好地与Python配合使用,c++,boost-python,gperftools,C++,Boost Python,Gperftools,下面是一个简单的示例,我将公开std::vector: 调用堆栈指向此处: if (self.m_start == self.m_finish) stop_iteration_error(); // <== return *self.m_start++; if(self.m_start==self.m_finish) 停止迭代错误();//根据您的代码,我不希望出现任何内存泄漏,因为您没有返回任何自我管理的内存。我认为您在示例中遇到的问题是,在假定扩展中的任何功能之前,您需要在b
std::vector
:
调用堆栈指向此处:
if (self.m_start == self.m_finish)
stop_iteration_error(); // <==
return *self.m_start++;
if(self.m_start==self.m_finish)
停止迭代错误();//根据您的代码,我不希望出现任何内存泄漏,因为您没有返回任何自我管理的内存。我认为您在示例中遇到的问题是,在假定扩展中的任何功能之前,您需要在boost::python中包装std::vector
>>> import Foo
>>> print [i for i in Foo.getIs(1)]
Segmentation fault (core dumped)
if (self.m_start == self.m_finish)
stop_iteration_error(); // <==
return *self.m_start++;