Pyrex

Software screenshot:
Pyrex
Software informatie:
Versie: 0.9.4.1
Upload datum: 3 Jun 15
Ontwikkelaar: Greg Ewing
Licentie: Gratis
Populariteit: 45

Rating: 1.0/5 (Total Votes: 2)

Pyrex is een taal voor het schrijven van Python Extension Modules.
Pyrex is een taal die speciaal is ontworpen voor het schrijven van Python uitbreidingsmodules. Het is ontworpen om de kloof tussen de mooie, high-level, easy-to-use wereld van Python en de rommelige, low-level wereld van C. overbruggen
Je kunt je afvragen waarom iemand een speciale taal voor dit zou willen. Python is heel makkelijk uit te breiden met behulp van C of C ++, is het niet? Waarom niet gewoon schrijf uw uitbreidingsmodules in een van deze talen?
Nou, als je ooit een uitbreidingsmodule voor Python hebt geschreven, weet je dat de dingen niet zo makkelijk als dat allemaal. Allereerst is er een eerlijke beetje van standaardtekst code te schrijven voordat je kunt zelfs de grond te krijgen. Dan bent u geconfronteerd met het probleem van het omzetten tussen de Python en C data types. Voor de basis-types, zoals getallen en strings dit is niet al te slecht, maar iets meer uitgebreide en je bent in het kiezen van Python objecten uit elkaar met behulp van de Python / C API calls, die vereist dat u zorgvuldig over het handhaven verwijzing telt, het controleren op fouten te zijn bij elke stap en het opruimen goed als er iets mis gaat. Eventuele fouten en je hebt een nare crash, dat is heel moeilijk te debuggen.
Verschillende instrumenten zijn ontwikkeld om enkele van de nadelen van productie extensie, die wellicht SWIG de bekendste verlichten. SWIG neemt een definitie bestand bestaande uit een mengsel van C-code en gespecialiseerde verklaringen, en produceert een uitbreidingsmodule. Het schrijft de standaardtekst voor u, en in veel gevallen u het kunt gebruiken zonder te weten over de Python / C API. Maar je moet API calls te gebruiken als een aanzienlijke herstructurering van de gegevens noodzakelijk is tussen de Python en C.
Wat meer is, SWIG geeft je geen hulp helemaal als je wilt een nieuw ingebouwd type Python te creëren. Het zal pure-Python klassen die wrap (in een iets onveilige wijze) verwijzingen naar C datastructuren te genereren, maar creatie van echte types extensie is buiten het toepassingsgebied.
Een andere opmerkelijke poging waardoor het makkelijker om Python te breiden is PyInline, geïnspireerd door een soortgelijke faciliteit voor Perl. PyInline laat je insluiten stukken C-code in het midden van een Python bestand en automatisch haalt ze en stelt ze in een uitbreiding. Maar het zet alleen automatisch de basistypen, en zoals met SWIG, is het niet de creatie van nieuwe Python types aan te pakken.
Pyrex is bedoeld om ver te gaan dan wat een van deze eerdere instrumenten biedt. Pyrex behandelt de basistypen net zo gemakkelijk als SWIG, maar het laat je ook code schrijven om te zetten tussen willekeurige Python datastructuren en willekeurige C datastructuren, op een eenvoudige en natuurlijke manier, zonder iets over de Python / C API weten. Dat klopt - helemaal niets! Noch heb je zorgen te maken over verwijzing tellen of foutcontrole - het is allemaal verzorgd automatisch, achter de schermen, net zoals het in geïnterpreteerd Python-code. En wat meer is, Pyrex kunt u definiëren van nieuwe ingebouwde types Python net zo gemakkelijk als u nieuwe klassen in Python kunt definiëren.
Wat is er nieuw in deze release:
· Tiny bugfix een tab / space probleem in de distutils extensie te corrigeren.

Vergelijkbare software

X11-Basic
X11-Basic

20 Feb 15

Mozart
Mozart

3 Jun 15

TinyCOBOL
TinyCOBOL

11 May 15

Andere software van ontwikkelaar Greg Ewing

Pyrex
Pyrex

5 Jun 15

Reacties op Pyrex

Reacties niet gevonden
Commentaar toe te voegen
Zet op de beelden!