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