9
我有第三方C++库,其中一些类方法使用原始字节缓冲区。我不太清楚如何处理Boost :: Python。如何使用Boost :: Python公开原始字节缓冲区?
C++库头是一样的东西:
class CSomeClass
{
public:
int load(unsigned char *& pInBufferData, int & iInBufferSize);
int save(unsigned char *& pOutBufferData, int & iOutBufferSize);
}
在套牢了boost :: Python代码...
class_<CSomeClass>("CSomeClass", init<>())
.def("load", &CSomeClass::load, (args(/* what do I put here??? */)))
.def("save", &CSomeClass::save, (args(/* what do I put here??? */)))
如何包装这些原始缓冲区它们暴露为原料Python中的字符串?
'py_buffer'的类型是'PyObject *',并且您正在调用'.buf'? – 2016-04-19 11:41:39
我认为你是对的,在'PyBufferObject'之前应该有一个位置。这段代码现在已经过时了。新风格的缓冲区在那里,可能应该考虑使用它们。 – 2016-04-20 10:20:01
我知道这是一个古老的问题,但你可以发布一个关于这些“新式缓冲区”的信息的链接?我似乎无法找到任何东西:/ – jpihl 2018-01-05 08:25:36