Pyrex

Software screenshot:
Pyrex
Software detaljer:
Version: 0.9.4.1
Upload dato: 3 Jun 15
Udvikler: Greg Ewing
Licens: Gratis
Popularitet: 45

Rating: 1.0/5 (Total Votes: 2)

Pyrex er et sprog til at skrive Python udvidelsesmoduler.
Pyrex er et sprog, der er specielt designet til at skrive Python udvidelsesmoduler. Den er designet til at bygge bro mellem det flot, højt niveau, der er nem at bruge verden af ​​Python og rodet, lavt niveau verden af ​​C.
Du kan være undrende, hvorfor nogen ønsker en særlig sprog for dette. Python er virkelig nemt at udvide ved hjælp af C eller C ++, er det ikke? Hvorfor ikke bare skrive din udvidelsesmoduler i et af disse sprog?
Tja, hvis du nogensinde har skrevet en udvidelse modul til Python, vil du vide, at tingene ikke er så nemt som alt det der. Først og fremmest er der en retfærdig bit standardteksten kode til at skrive, før du selv kan komme i gang. Så du er konfronteret med problemet med at konvertere mellem Python og C datatyper. For de grundlæggende typer såsom tal og strenge det er ikke så slemt, men noget mere omfattende og du er til at plukke Python objekter fra hinanden ved hjælp af Python / C API-kald, som kræver, at du skal være omhyggelig med at bevare reference- tæller, kontrol for fejl ved hvert skridt og oprydning korrekt, hvis noget går galt. Eventuelle fejl og du har en grim styrt, der er meget svært at debug.
Forskellige værktøjer er blevet udviklet til at lette nogle af byrderne ved at producere udvidelse kode, hvoraf måske SWIG er de mest kendte. SWIG tager en definition fil består af en blanding af C-kode og specialiserede erklæringer, og producerer en udvidelse modul. Det skriver al den standardtekst for dig, og i mange tilfælde du kan bruge det uden at vide om Python / C API. Men du skal bruge API-kald hvis der kræves en væsentlig omstrukturering af data mellem Python og C.
Hvad mere er, SWIG giver dig nogen hjælp overhovedet, hvis du vil oprette en ny indbygget Python type. Det vil generere rene-Python klasser, som wrap (i en lidt usikker måde) pegepinde til C datastrukturer, men skabelse af sande forlængerledninger typer er uden for dens rækkevidde.
En anden bemærkelsesværdig forsøg på at gøre det lettere at udvide Python er PyInline, inspireret af et lignende anlæg til Perl. PyInline lader dig integrere stykker af C-kode midt i en Python-fil, og automatisk udtrækker dem og samler dem i en udvidelse. Men det kun omdanner de grundlæggende typer automatisk, og som med slurk, betyder det ikke ind på skabelsen af ​​nye Python typer.
Pyrex sigter mod at gå langt ud over, hvad nogen af ​​disse tidligere værktøjer giver. Pyrex beskæftiger sig med de grundlæggende typer lige så let som slurk, men det kan du også skrive kode til at konvertere mellem arbitrære Python datastrukturer og vilkårlige C datastrukturer, på en enkel og naturlig måde, uden at vide noget om Python / C API. Det er rigtigt - intet overhovedet! Heller ikke du skal bekymre dig om henvisning optælling eller fejlkontrol - det hele taget sig af automatisk, bag kulisserne, ligesom det er i tolkes Python kode. Og hvad mere er, Pyrex kan du definere nye indbyggede Python typer lige så let som du kan definere nye klasser i Python.
Hvad er nyt i denne version:
· Tiny bugfix for at rette en fane / plads problem i distutils forlængelse.

Lignende software

Excelsior JET
Excelsior JET

17 Feb 15

Pyastra
Pyastra

3 Jun 15

Ctalk
Ctalk

20 Feb 15

gears-handlebars
gears-handlebars

20 Feb 15

Andre software developer Greg Ewing

Pyrex
Pyrex

5 Jun 15

Kommentarer til Pyrex

Kommentarer ikke fundet
Tilføj kommentar
Tænd billeder!