PyObject_AsReadBuffer移植问题

时间:2014-02-26 08:33:36

标签: python c port

我们知道在版本2.5中更改了PyObject_AsReadBuffer。

在v2.4上,我们可以像这样使用它,

int bufferLength = 0;
const void* buffer = NULL;
PyObject_AsReadBuffer(pyObj, &buffer, &buffer_len); 

但是我必须像这样修改它以在v2.7上运行,

Py_ssize_t bufferLength = 0;
const void* buffer = NULL;
PyObject_AsReadBuffer(pyObj, &buffer, &buffer_len);

如果我想在v2.4和v2.7上运行它,我该怎么办?

1 个答案:

答案 0 :(得分:0)

在include / python2.7 / patchlevel.h

#define PY_MAJOR_VERSION        2
#define PY_MINOR_VERSION        7

所以我们可以使用PY_MAJOR_VERSION PY_MINOR_VERSION比较版本