【发布时间】:2017-11-10 04:30:42
【问题描述】:
我知道this post 关于将 Cython malloc'ed 数据传递给 Python。但是,我想知道在返回之前转换为 memoryview 是否可以避免内存泄漏:
def someCythonFunction():
try:
mPtr = <double *>PyMem_Malloc(N * M * sizeof(double)
for n in range(N):
for m in range(M):
mPtr[m + n*M]= ...
return <double[:N,:M]> mPtr
finally:
print("In cython %d" % <int>mPtr)
PyMem_Free(mPtr)
然后在 Python 中:
mView = someCythonFunction()
这样安全正确吗?
【问题讨论】:
标签: python memory-management cython