मैं सी में एक पायथन मॉड्यूल लिख रहा हूं मॉड्यूल को पायथन संस्करण 2.4, 2.5, 2.6 और 2.7 के लिए संकलित करने की आवश्यकता है।मैं संकलन समय पर पायथन एपीआई के संस्करण की जांच कैसे कर सकता हूं?
अब मैं समस्या में भाग गया कि पाइथन 2.5 में उन्होंने सूचियों के आकार के लिए Py_ssize_t
परिभाषित किया, लेकिन 2.4 में उन्होंने int
का उपयोग किया।
तो मेरा प्रश्न है: क्या यह जांचने का कोई आसान तरीका है कि मैं संकलन समय पर संस्करण 2.4 या 2.5 के एपीआई का उपयोग कर रहा हूं, इसलिए मैं थोड़ा मैक्रो लिख सकता हूं?
उदाहरण के लिए:
#if PY_MINOR < 5
typedef int Py_ssize_t;
#endif