Tôi đang viết một mô-đun python trong C. Mô-đun cần được biên dịch cho phiên bản python 2.4, 2.5, 2.6 và 2.7.Làm cách nào để kiểm tra phiên bản của python API tại thời gian biên dịch?
Bây giờ tôi đã gặp vấn đề trong python 2.5, chúng được định nghĩa Py_ssize_t
đối với kích thước của danh sách, nhưng trong 2.4 chúng chỉ sử dụng int
.
Vì vậy, câu hỏi của tôi là: Có cách nào dễ dàng để kiểm tra xem tôi có đang sử dụng API phiên bản 2.4 hoặc 2.5 lúc biên dịch để tôi có thể viết một macro nhỏ không?
ví dụ:
#if PY_MINOR < 5
typedef int Py_ssize_t;
#endif