【发布时间】:2020-05-13 01:58:26
【问题描述】:
我在 C++ 中有一个将数组传递给 python 代码的函数。据我了解,我需要delete[] 它,所以内存不会累积。
以下是它在 C++ 方面的工作原理:
extern "C" char* func()
{
char* abc = new char[1000000]; //about 1MB
return abc;
}
所以在 python 中,我只是通过 ctypes 接收这些数据并做我该做的。我一遍又一遍地调用它。那么这最终会溢出我的RAM吗?有办法避免吗?
【问题讨论】:
-
创建另一个 C++ 函数来接收和释放指针。然后从您的 Python 代码中调用它。
-
如果你能详细说明,另一个函数如何访问这样的指针?
-
@Name,请参阅 JohnSmith 链接的帖子中的最佳答案
标签: python c++ arrays pointers ctypes