python转C的内存泄露问题

python的内存管理是引用机制,然后如果变量的引用数不减的话,那么即使使用内存回收也是然并卵的效果。
python转C的扩展的时候,C是可以对python的引用机制进行人为增减的,所以就导致可能的内存泄露。
使用swig等工具模板,可能能够避免手工忘记的一些问题,但是,如果你原来的代码仍然是存在内存泄露的话,那么还是会产生最终的内存泄露。
记得一定要在加了引用计数之后减引用计数!!!
这里是有关的几个加减引用计数的函数。
https://docs.python.org/2/c-api/refcounting.html

这是一个PPT,关于swig的
http://download.csdn.net/detail/artemisrj/9315235

你可能感兴趣的:(python,C语言,扩展,内存管理,内存泄露)