Pyrex

Software skärmdump:
Pyrex
Mjukvaruinformation:
Version: 0.9.4.1
Ladda upp dagen: 3 Jun 15
Utvecklare: Greg Ewing
Licens: Gratis
Popularitet: 45

Rating: 1.0/5 (Total Votes: 2)

Pyrex är ett språk för att skriva Python-moduler.
Pyrex är ett språk som är särskilt utformad för att skriva Python utbyggnadsmoduler. Det är utformat för att överbrygga klyftan mellan den fina, hög nivå, lättanvända värld av Python och rörigt, låg nivå värld C.
Du kanske undrar varför någon skulle vilja ett speciellt språk för detta. Python är verkligen lätt att utöka med C eller C ++, är inte det? Varför inte bara skriva utbyggnadsmoduler på ett av dessa språk?
Tja, om du någonsin har skrivit en utbyggnadsmodul för Python, vet du att saker och ting är inte så lätt som allt det där. Först av allt, det finns en hel del standardtext kod för att skriva innan du ens kan få luft under vingarna. Sedan är du inför problemet att omvandla mellan Python och C-datatyper. För grundtyper såsom tal och strängar detta är inte så illa, men något mer genomarbetade och du är i plocka Python föremål isär med hjälp av Python / C API-anrop, vilket kräver att du är noggrann om att bevara referens räknas, kontroll efter fel vid varje steg och sanering ordentligt om något går fel. Eventuella misstag och du har en otäck krasch som är mycket svårt att felsöka.
Olika verktyg har utvecklats för att underlätta en del av bördan att producera förlängning kod, varav kanske SWIG är den mest kända. SWIG tar en definition fil bestående av en blandning av C-kod och specialiserade deklarationer, och producerar en utbyggnadsmodul. Det skriver alla standardtext för dig, och i många fall kan du använda den utan att veta om Python / C API. Men du måste använda API-anrop om det krävs någon större omstrukturering av data mellan Python och C.
Vad mer, SWIG ger dig ingen hjälp alls om du vill skapa en ny inbyggd Python typ. Det kommer att generera renrasiga Python klasser som wrap (i en något osäkert sätt) pekare till C datastrukturer, men skapandet av verkliga förlängningstyper är utanför dess räckvidd.
En annan anmärkningsvärd försök till att göra det lättare att utvidga Python är PyInline, inspirerad av en liknande anläggning för Perl. PyInline kan du bädda in delar av C-kod mitt i en Python-fil, och automatiskt extraherar dem och sammanställer dem till en förlängning. Men det bara omvandlar de grundläggande typer automatiskt, och som med SLURK, betyder inte upp skapandet av nya typer Python.
Pyrex syftar till att gå långt utöver vad någon av dessa tidigare verktyg ger. Pyrex behandlar de grundläggande typer lika enkelt som SLURK, men det kan du också skriva kod för att konvertera mellan godtyckliga Python datastrukturer och godtyckliga C datastrukturer, på ett enkelt och naturligt sätt, utan att veta något om Python / C API. Just det - ingenting alls! Inte heller har du att oroa referensräkning eller felkontroll - det är allt tas om hand automatiskt, bakom kulisserna, precis som det är i tolkas Python-kod. Och vad mer, låter Pyrex du definiera nya inbyggda Python typer lika lätt som du kan definiera nya klasser i Python.
Vad är nytt i den här versionen:
· Tiny bugfix att korrigera en flik / utrymme problem i distutils förlängning.

Liknande mjukvara

ncc
ncc

3 Jun 15

Android SDK
Android SDK

22 Jun 18

Mozart
Mozart

3 Jun 15

bc
bc

3 Jun 15

Annan programvara för utvecklare Greg Ewing

Pyrex
Pyrex

5 Jun 15

Kommentarer till Pyrex

Kommentarer hittades inte
Kommentar
Slå på bilder!