Επέκταση και Ενσωμάτωση του Διερμηνέα της Python¶
Αυτό το έγγραφο περιγράφει πώς να γράφετε modules σε C ή C++ για να επεκτείνετε τον διερμηνέα της Python με νέα modules. Αυτά τα modules δεν μπορούν μόνο να ορίσουν νέες συναρτήσεις αλλά και νέους τύπους αντικειμένων και τις μεθόδους τους. Το έγγραφο επίσης περιγράφει πώς να ενσωματώσετε τον διερμηνέα της Python σε μια άλλη εφαρμογή, ώστε να χρησιμοποιείται ως γλώσσα επέκτασης. Τέλος, δείχνει πώς να μεταγλωττίζετε και να συνδέετε τα modules επέκτασης ώστε να μπορούν να φορτώνονται δυναμικά (κατά την εκτέλεση) στον διερμηνέα, εφόσον το υποκείμενο λειτουργικό σύστημα υποστηρίζει αυτήν τη λειτουργία.
Αυτό το έγγραφο προϋποθέτει βασικές γνώσεις Python. Για μια ανεπίσημη εισαγωγή στη γλώσσα, δείτε το Το Python Tutorial. Το The Python Language Reference παρέχει έναν πιο επίσημο ορισμό της γλώσσας. Το The Python Standard Library τεκμηριώνει τους υπάρχοντες τύπους αντικειμένων, τις συναρτήσεις και τα modules (ενσωματωμένα και γραμμένα σε Python και τα δύο) που προσφέρουν στη γλώσσα το ευρύ πεδίο εφαρμογών της.
Για μια λεπτομερή περιγραφή ολόκληρου του Python/C API, δείτε το ξεχωριστό Python/C API Reference Manual.
Προτεινόμενα εργαλεία τρίτων¶
Αυτός ο οδηγός καλύπτει μόνο τα βασικά εργαλεία για τη δημιουργία επεκτάσεων που παρέχονται ως μέρος αυτής της έκδοσης της CPython. Ορισμένα third party tools προσφέρουν απλούστερες και πιο εξελιγμένες προσεγγίσεις για τη δημιουργία επεκτάσεων C και C++ για Python.
Δημιουργία επεκτάσεων χωρίς εργαλεία τρίτων¶
Αυτό το μέρος του οδηγού καλύπτει τη δημιουργία επεκτάσεων σε C και C++ χωρίς τη βοήθεια εργαλείων τρίτων. Απευθύνεται κυρίως σε δημιουργούς αυτών των εργαλείων, παρά ως προτεινόμενη μέθοδος για τη δημιουργία δικών σας επεκτάσεων σε C.
Δείτε επίσης
PEP 489 – Αρχικοποίηση πολυφασικής μονάδας επέκταση
- 1. Extending Python with C or C++
- 1.1. A Simple Example
- 1.2. Intermezzo: Errors and Exceptions
- 1.3. Back to the Example
- 1.4. The Module’s Method Table and Initialization Function
- 1.5. Compilation and Linkage
- 1.6. Calling Python Functions from C
- 1.7. Extracting Parameters in Extension Functions
- 1.8. Keyword Parameters for Extension Functions
- 1.9. Building Arbitrary Values
- 1.10. Reference Counts
- 1.11. Writing Extensions in C++
- 1.12. Providing a C API for an Extension Module
- 2. Defining Extension Types: Tutorial
- 3. Defining Extension Types: Assorted Topics
- 4. Κατασκευή Επεκτάσεων C και C++
- 5. Building C and C++ Extensions on Windows
Ενσωμάτωση του χρόνου εκτέλεσης της CPython σε μεγαλύτερη εφαρμογή¶
Μερικές φορές, αντί να δημιουργήσουμε μια επέκταση που εκτελείται μέσα στον διερμηνέα της Python ως κύρια εφαρμογή, είναι προτιμότερο να ενσωματώσουμε τον χρόνο εκτέλεσης της CPython σε μια μεγαλύτερη εφαρμογή. Αυτή η ενότητα καλύπτει μερικές λεπτομέρειες για το πώς να το κάνετε αυτό με επιτυχία.