我正在用C编写一个python模块。 这个模块需要为Python版本2.4,2.5,2.6和2.7进行编译。如何在编译时检查python API的版本?
现在我遇到了python 2.5的问题,他们为列表的大小定义了Py_ssize_t
,但是在2.4中他们只是使用了int
。
所以我的问题是: 有没有一种简单的方法来检查我是否在编译时使用2.4或2.5的API,所以我可以写一个小宏?
e.g:
#if PY_MINOR < 5
typedef int Py_ssize_t;
#endif