Pyrex

Screenshot der Software:
Pyrex
Softwarebeschreibung:
Version: 0.9.4.1
Upload-Datum: 3 Jun 15
Entwickler: Greg Ewing
Lizenz: Frei
Popularität: 45

Rating: 1.0/5 (Total Votes: 2)

Pyrex ist eine Sprache zum Schreiben von Python-Erweiterungsmodule.
Pyrex ist ein speziell für das Schreiben von Python-Erweiterungsmodule entwickelt, die Sprache. Es wurde entwickelt, um die Lücke zwischen den schönen, auf hoher Ebene, einfach zu bedienende Welt der Python und die chaotisch, Low-Level-Welt der C überbrücken
Sie wundern sich vielleicht, warum jemand eine spezielle Sprache für diese wollen. Python ist wirklich einfach zu erweitern mit C oder C ++, nicht wahr? Warum nicht einfach schreiben Sie Ihre Erweiterungsmodule in einer dieser Sprachen?
Nun, wenn Sie jemals ein Erweiterungsmodul für Python geschrieben haben, werden Sie wissen, dass die Dinge nicht so einfach, wie das alles. Zunächst einmal gibt es ein gutes Stück von Standardcode zu schreiben, bevor man überhaupt bekommen kann aus dem Boden. Dann sind Sie mit dem Problem der Konvertierung zwischen Python und C-Datentypen konfrontiert. Für die Grundtypen wie Zahlen und Strings ist dies nicht allzu schlecht, aber etwas aufwendiger und Sie in die Kommissionierung Python-Objekte auseinander mit den Python / C API-Aufrufe, die Sie erfordert akribische über die Aufrechterhaltung Referenzzähler, Fehlerprüfung sein können bei jedem Schritt und Reinigung ordnungsgemäß, wenn etwas schief geht. Jeder Fehler, und Sie haben einen bösen Absturz, der sehr schwer zu debuggen ist.
Verschiedene Werkzeuge wurden entwickelt, um einige der Belastungen der Herstellung Erweiterungscode, von denen vielleicht SWIG ist die bekannteste erleichtern. SWIG nimmt eine Definitionsdatei, die aus einer Mischung von C-Code und Fachanmeldungen und erzeugt ein Erweiterungsmodul. Es schreibt alle Textvorschlag für Sie, und in vielen Fällen können Sie es ohne zu wissen, über die Python / C API verwenden. Aber Sie müssen API-Aufrufe verwenden, wenn eine erhebliche Umstrukturierung der Daten zwischen Python und C erforderlich
Was mehr ist, SWIG gibt Ihnen keine Hilfe, wenn Sie eine neue integrierte Python-Typ erstellen möchten. Es ist pure-Python-Klassen, die Wrap (in einer etwas unsichere Weise) Zeiger auf C-Datenstrukturen zu erzeugen, aber Schaffung wahrer Erweiterungstypen ist nicht in ihren Geltungsbereich.
Ein weiterer bemerkenswerter Versuch, wodurch es einfacher, Python zu erweitern ist PyInline, inspiriert durch eine ähnliche Einrichtung für Perl. PyInline können Sie Stücke von C-Code in der Mitte einer Python-Datei einbetten, und extrahiert automatisch sie und stellt sie in einer Verlängerung. Aber es wandelt nur die Grundtypen automatisch, und wie bei SWIG, ist es nicht die Schaffung neuer Python-Typen anzugehen.
Pyrex zielt darauf ab, die weit über das, was jeder dieser bisherigen Tools bietet gehen. Pyrex befasst sich mit den Grundtypen genauso einfach wie SWIG, aber es lässt Sie auch Code schreiben, um zu konvertieren zwischen beliebigen Python-Datenstrukturen und willkürliche C-Datenstrukturen, auf einfache und natürliche Weise, ohne etwas über die Python / C API. Das ist richtig - gar nichts! Auch nicht, muss man sich über Referenzzählung oder Fehlerprüfung zu kümmern - es ist alles erledigt automatisch, hinter den Kulissen, wie es in Python-Code interpretiert wird. Und was mehr ist, Pyrex können Sie definieren, neue integrierte Python-Typen genauso einfach wie man neue Klassen in Python zu definieren.
Was ist neu in dieser Version:
· Tiny Bugfix, um eine Registerkarte / Platzproblem im distutils Erweiterung zu korrigieren.

Ähnliche Software

Perl
Perl

17 Aug 18

Rails
Rails

17 Feb 15

purepy
purepy

14 Apr 15

Andere Software von Entwickler Greg Ewing

Pyrex
Pyrex

5 Jun 15

Kommentare zu Pyrex

Kommentare nicht gefunden
Kommentar hinzufügen
Schalten Sie auf die Bilder!