Pyrex | |
---|---|
Sorts | programmeringsspråk |
Utvecklaren | Greg Ewing |
Skrivet i | Python , C |
Operativ system | plattformsoberoende |
Första upplagan | 3 april 2002 [1] |
senaste versionen | 0.9.9 (12 april 2010 ) |
Hemsida | cosc.canterbury.ac.nz/~greg/python/Pyrex/ |
Pyrex är ett programmeringsspråk utvecklat av Greg Ewing [2] 2002 för att göra det lättare att skapa moduler för Python . Dess syntax ligger mycket nära Python, vilket gör det enkelt för Python-programmerare att använda för att skriva limkod. Pyrex blev senare grunden för Cython .
Python tillhandahåller själv ett API till C-språket för att skriva tilläggsmoduler. Sådana moduler innehåller funktioner och datatyper från C-språket, som även kan nås från Python. Det är också möjligt att skapa "wrappers" för funktioner och datatyper från befintliga C -bibliotek för att ge tillgång till dem som objekt i Python-språket.
Det finns verktyg som SWIG och Python "ctypes"-biblioteket ( utländskt funktionsbibliotek ) som kan användas för att lösa problemet med att skapa tvärspråkiga gränssnitt utan att skriva en massa extra kod. Deras användning är dock begränsad till att exportera en uppsättning externa biblioteksfunktioner för åtkomst från Python-applikationer. Om gränssnittsjusteringar är nödvändiga krävs manuell produktion av konverteringskoden. Pyrex kan användas för att förenkla denna uppgift.
Pyrex låter programmeraren skriva tilläggsmoduler i ett Python-liknande språk som kan fungera direkt med extern C-kod. Likheten mellan Pyrex-syntaxen och Python förenklar kodskapandet, eftersom programmeraren inte behöver lära sig eller kunna ett annat språk (C eller C++ ) eller implementera nya C-gränssnitt. Pyrex kan använda C-huvudfiler, enumtyptyper och värden , datatyper och strukturer och funktioner. Pyrex-programmeraren arbetar med dessa element i samma syntax som om de vore Python-objekt. Pyrex-kompilatorn genererar sedan all nödvändig mellankod ( lim ) automatiskt och konverterar Pyrex-applikationen till en färdig Python-modul [2] .
Pytonorm | |
---|---|
gemenskap | |
Genomföranden | |
Övrig |
|