Piszę moduł python w C. Moduł musi być skompilowany dla wersji Pythona 2.4, 2.5, 2.6 i 2.7.Jak mogę sprawdzić wersję interfejsu API Pythona podczas kompilacji?
Teraz natknąłem się na problem, który w pythonie 2.5 oni zdefiniowali Py_ssize_t
dla rozmiaru list, ale w 2.4 używali tylko int
.
Moje pytanie brzmi: Czy istnieje prosty sposób sprawdzenia, czy korzystam z interfejsu API wersji 2.4 lub 2.5 podczas kompilacji, więc mogę napisać małe makro?
np:
#if PY_MINOR < 5
typedef int Py_ssize_t;
#endif