Pyrex

Screenshot Λογισμικό:
Pyrex
Στοιχεία Λογισμικού:
Εκδοχή: 0.9.4.1
Ανεβάστε ημερομηνία: 3 Jun 15
Προγραμματιστής: Greg Ewing
Άδεια: Δωρεάν
Δημοτικότητα: 45

Rating: 1.0/5 (Total Votes: 2)

πυρέξ είναι μια γλώσσα για τη σύνταξη της Python Παράταση Ενότητες.
Πυρέξ είναι μια γλώσσα που είναι ειδικά σχεδιασμένα για τη σύνταξη μονάδες επέκτασης Python. Είναι σχεδιασμένο για να γεφυρώσει το χάσμα μεταξύ της Νίκαιας, υψηλού επιπέδου, εύκολο στη χρήση κόσμο της Python και το βρώμικο, χαμηλού επιπέδου κόσμο του C.
Ίσως να αναρωτιέστε γιατί κάποιος θα ήθελε μια ειδική γλώσσα για το σκοπό αυτό. Η Python είναι πραγματικά εύκολο να επεκταθεί με τη χρήση C ή C ++, έτσι δεν είναι; Γιατί δεν γράφουν μόνο ενότητες επέκταση σας σε μία από τις γλώσσες αυτές;
Λοιπόν, αν έχετε γράψει ποτέ μια μονάδα επέκτασης για Python, θα ξέρετε ότι τα πράγματα δεν είναι τόσο εύκολο όσο όλα αυτά. Πρώτα απ 'όλα, υπάρχει ένα δίκαιο κομμάτι του κώδικα που να γράψει πριν καν να πάρει από το έδαφος. Στη συνέχεια, είστε αντιμέτωποι με το πρόβλημα της μετατροπής μεταξύ Python και C τύπων δεδομένων. Για τα βασικά είδη όπως είναι οι αριθμοί και συμβολοσειρές αυτό δεν είναι πάρα πολύ κακό, αλλά τίποτα πιο περίτεχνα και είστε σε πάρει Python αντικείμενα εκτός χρησιμοποιώντας τα / C κλήσεις API Python, η οποία απαιτεί από εσάς να είναι σχολαστική για διατήρηση του αριθμού αναφοράς, ο έλεγχος για τα λάθη σε κάθε βήμα και καθαρισμό σωστά αν κάτι πάει στραβά. Τυχόν λάθη και έχετε μια άσχημη συντριβή που είναι πολύ δύσκολο για τον εντοπισμό σφαλμάτων.
Διάφορα εργαλεία έχουν αναπτυχθεί για να διευκολύνει κάποια από τα βάρη της παραγωγής κωδικό επέκτασης, από τις οποίες ίσως καταρροφώ είναι το πιο γνωστό. Καταρροφώ παίρνει ένα αρχείο ορισμού αποτελείται από ένα μείγμα κώδικα C και εξειδικευμένων δηλώσεις, και παράγει μια μονάδα επέκτασης. Γράφει όλες τις στερεότυπο για εσάς, και σε πολλές περιπτώσεις μπορείτε να το χρησιμοποιήσετε χωρίς να γνωρίζουν σχετικά με την Python / C API. Αλλά θα πρέπει να χρησιμοποιήσετε το API κλήσεις εάν απαιτείται ουσιαστική αναδιάρθρωση των δεδομένων μεταξύ Python και C.
Τι περισσότερο, καταρροφώ δίνει βοήθεια καθόλου, αν θέλετε να δημιουργήσετε ένα νέο ενσωματωμένο τύπου Python. Θα παράγουν καθαρό-Python κλάδους, στους οποίους wrap (σε μια ελαφρώς μη ασφαλή τρόπο) δείκτες σε δομές δεδομένων C, αλλά η δημιουργία της αληθινής τύπων επέκτασης είναι εκτός του πεδίου εφαρμογής της.
Μια άλλη αξιοσημείωτη προσπάθεια που καθιστά ευκολότερο να επεκταθεί η Python είναι PyInline, εμπνευσμένο από μια παρόμοια εγκατάσταση για Perl. PyInline σας επιτρέπει να ενσωματώσετε τα κομμάτια του κώδικα C στη μέση ενός αρχείου Python, και αυτόματα εξάγει τους και καταρτίζει τους σε μια επέκταση. Αλλά μετατρέπει μόνο τα βασικά είδη αυτόματα, όπως και με καταρροφώ, δεν ασχολούνται με τη δημιουργία νέων τύπων Python.
Πυρέξ στοχεύει να πάει πολύ πέρα ​​από ό, τι οποιοδήποτε από αυτά τα προηγούμενα εργαλεία που παρέχει. Πυρέξ ασχολείται με τα βασικά είδη τόσο εύκολα όσο καταρροφώ, αλλά επίσης σας επιτρέπει να γράφετε κώδικα για τη μετατροπή μεταξύ αυθαίρετων δομών δεδομένων Python και αυθαίρετες δομές δεδομένων C, με απλό και φυσικό τρόπο, χωρίς να γνωρίζουν τίποτα για την / C API Python. Αυτό είναι σωστό - τίποτα δεν σε όλα! Επίσης, δεν θα έχετε να ανησυχείτε για την καταμέτρηση αναφοράς ή τον έλεγχο σφαλμάτων - είναι όλα γίνονται αυτόματα, πίσω από τις σκηνές, όπως ακριβώς συμβαίνει στην ερμηνεία κώδικα Python. Και τι περισσότερο, πυρέξ σας επιτρέπει να ορίσετε νέα ενσωματωμένων τύπων Python εξίσου εύκολα όπως μπορείτε να ορίσετε νέες κατηγορίες σε Python.
Τι νέο υπάρχει σε αυτήν την έκδοση:
· Tiny bugfix για να διορθώσει ένα πρόβλημα καρτέλα / χώρο στην επέκταση distutils.

Παρόμοια λογισμικά

ooc
ooc

3 Jun 15

bin86
bin86

3 Jun 15

GNU Automake
GNU Automake

22 Jun 18

Άλλο λογισμικό του προγραμματιστή Greg Ewing

Pyrex
Pyrex

5 Jun 15

Σχόλια για Pyrex

Τα σχόλια δεν βρέθηκε
προσθήκη σχολίου
Ενεργοποιήστε τις εικόνες!
Αναζήτηση ανά κατηγορία