2024-09-28 11:36:43 发布
网友
如何将Python加载的二进制数据直接从文件传递到C++函数中,使用Cython模块中调用的数据指针和大小?在
loadFromMemory(const void*, size_t)
这可能是纯Python中的line:
首先需要两步转换为char*(Cython可以很容易地从字符串中获得),然后再将其重新解释为void*:
char*
void*
loadFromMemory(<void*>(<char*>data), len(data))
这确实假定loadFromMemory不希望指针在函数调用后保持有效(Cython不会自动为您管理内存,当data被销毁时,它将被释放)。在
loadFromMemory
data
(跳过对char*的转换,直接转换为void*将获得Python对象的地址,这不是您想要的)
首先需要两步转换为
char*
(Cython可以很容易地从字符串中获得),然后再将其重新解释为void*
:这确实假定
loadFromMemory
不希望指针在函数调用后保持有效(Cython不会自动为您管理内存,当data
被销毁时,它将被释放)。在(跳过对
char*
的转换,直接转换为void*
将获得Python对象的地址,这不是您想要的)相关问题 更多 >
编程相关推荐