Pyrex

Skjermbilde programvare:
Pyrex
Prog.varedetaljer:
Versjon: 0.9.4.1
Last opp dato: 3 Jun 15
Utvikler: Greg Ewing
Lisens: Gratis
Popularitet: 45

Rating: 1.0/5 (Total Votes: 2)

Pyrex er et språk for skriving av Python-tilleggsmoduler.
Pyrex er et språk spesielt designet for å skrive Python-tilleggsmoduler. Den er designet for å bygge bro over gapet mellom hyggelig, høyt nivå, lett-å-bruke verden av Python og rotete, lavt nivå verden av C.
Du lurer kanskje på hvorfor noen skulle ønske en spesiell språket. Python er veldig lett å utvide med C eller C ++, er det ikke? Hvorfor ikke bare skrive dine tilleggsmoduler i en av disse språkene?
Vel, hvis du noen gang har skrevet en tilleggsmodul for Python, vil du vite at ting ikke er så enkelt som alt dette. Først av alt, det er en god del av standardkoden for å skrive før du kan selv gå av bakken. Da er du møtt med problemet med å konvertere mellom Python og C datatyper. For de grunnleggende typer som tall og strenger dette er ikke så ille, men noe mer forseggjort og du er i plukke Python-objekter fra hverandre ved hjelp av Python / C API-kall, som krever at du være nøye med å opprettholde referanse teller, sjekker for feil på alle trinn og rydde opp skikkelig hvis noe går galt. Eventuelle feil og du har en stygg krasj som er veldig vanskelig å feilsøke.
Ulike verktøy har blitt utviklet for å lette noen av de byrdene av å produsere forlengelse kode, hvorav kanskje SWIG er den mest kjente. SWIG tar en definisjon fil som består av en blanding av C-kode og spesialiserte erklæringer, og produserer en tilleggsmodul. Det skriver alle standardteksten for deg, og i mange tilfeller kan du bruke den uten å vite om Python / C API. Men du må bruke API-kall hvis noen vesentlig omlegging av data er nødvendig mellom Python og C.
Hva mer, gir SWIG du ingen hjelp i det hele tatt hvis du ønsker å opprette en ny innebygd Python type. Det vil generere rene-Python-klasser som wrap (i en litt usikker måte) pekere til C datastrukturer, men etableringen av ekte skjøte typer er utenfor sitt virkeområde.
En annen bemerkelsesverdig forsøk på å gjøre det enklere å utvide Python er PyInline, inspirert av et lignende anlegg for Perl. PyInline lar deg legge biter av C-kode i midt i en Python-fil, og automatisk trekker dem og sammenstiller dem til en forlengelse. Men det bare konverterer de grunnleggende typer automatisk, og som med SWIG, betyr det løser ikke etablering av nye Python typer.
Pyrex mål å gå langt utover hva noen av disse tidligere verktøy gir. Pyrex omhandler de grunnleggende typer like enkelt som SWIG, men det lar deg også skrive kode for å konvertere mellom vilkår Python datastrukturer og vilkår C datastrukturer, på en enkel og naturlig måte, uten å vite noe om Python / C API. Det er riktig - ikke noe i det hele tatt! Du trenger heller ikke å bekymre deg for referansetelling eller feilkontroll - alt er tatt vare på automatisk, bak kulissene, akkurat som det er i tolket Python-kode. Og hva mer er, lar Pyrex du definere nye innebygde Python typer like enkelt som du kan definere nye klasser i Python.
Hva er nytt i denne versjonen:
· Tiny feilretting for å korrigere en fane / plass problem i distutils forlengelse.

Lignende programvare

GNU Smalltalk
GNU Smalltalk

11 May 15

CodeViz
CodeViz

3 Jun 15

pyLisp-NG
pyLisp-NG

3 Jun 15

Annen programvare fra utvikleren Greg Ewing

Pyrex
Pyrex

5 Jun 15

Kommentarer til Pyrex

Kommentarer ikke funnet
Legg til kommentar
Slå på bilder!