मेरे पास एक खराब डिजाइन और बड़ा (> 300 public functions
, >200 numeric constants
हैडर फ़ाइल में #define
के साथ परिभाषित किया गया है) कि मुझे पायथन में लपेटना है। मेरे पास dll
और h
फ़ाइल है। लाइब्रेरी को सालाना अपडेट किया जाता है, अब तक पीछे के संगत तरीके से (यानी केवल फ़ंक्शंस जोड़े गए थे, एक निरंतर उनके संख्यात्मक मान इत्यादि रखते थे)। लेकिन मुझे कोई गारंटी नहीं है क्योंकि मैं पुस्तकालय को नियंत्रित नहीं करता हूं।सी लाइब्रेरी के एक पायथन रैपिंग की रखरखाव
- अजगर के लिए हर निरंतर और समारोह, 1 पायथन में एपीआई पुनर्परिभाषित और पुस्तकालय के लिए कॉल करने के लिए 1
- का मिलान:
ctypes
का उपयोग करना, मैं दो अजगर में इस लपेटकर के तरीके को देखने के ।
पहले एक (लगभग) हेडर फाइल से स्वत: तरीके से किया जा सकता है और इसलिए बनाए रखने और उन्नत करने के लिए आसान है, दूसरा अजगर कोड का एक बहुत आवश्यकता है, लेकिन इसका इस्तेमाल करने के आसान हो जाएगा।
मैं इस प्रकार की समस्या और कुछ उदाहरणों के साथ आपके अनुभव के आधार पर कुछ राय की सराहना करता हूं।
क्षमा करें, लेकिन जितना अच्छा है, यह वास्तव में एक स्पष्ट सवाल नहीं है। –
SWIG पर एक नज़र डालें। –
[एसआईपी] (http://pypi.python.org/pypi/SIP/4.14) एक दिलचस्प समाधान हो सकता है। –