Pyrex

Software screenshot:
Pyrex
Software informatie:
Versie: 0.9.9
Upload datum: 5 Jun 15
Ontwikkelaar: Greg Ewing
Licentie: Gratis
Populariteit: 77

Rating: 4.0/5 (Total Votes: 2)

Pyrex is een taal ontwikkeld voor het creëren van Python extensie modules geschreven in C-code.
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
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 misgaat

Wat is nieuw in deze release:.

  • Sommige functies voor interfacing met C ++ code hebt in deze release geïntroduceerd.
  • Pyrex niet meer plaatsen gevangen uitzonderingen in de thread staat. Dit zorgt ervoor dat uitzonderingen en tracebacks niet lekken uit het behalve clausule die hen gevangen, tenzij je iets doen om ze expliciet te behouden.
  • Op dit moment, een argument om een ​​Python-functie die wordt gedeclareerd als een soort verlengstuk zal standaard, worden toegestaan ​​om de waarde None ontvangen; om dit te voorkomen, moet u het argument verklaring kwalificeren met 'niet Geen'.
  • Het is nu mogelijk om te definiëren en het type uitbreiding met Python attributen die niet deelnemen aan cyclische garbage collection, met behulp van een nieuwe nogc optie.
  • size_t nu een ingebouwd type en het type geretourneerd door de operator sizeof. Ook zijn de afmetingen van size_t en Py_ssize_t nu verondersteld om ergens tussen de lange en de lange lang zijn.
  • Operations tussen twee int types van dezelfde rang nu een unsigned resultaat terug te keren als een van de operanden is niet ondertekend; Als de rijen anders wordt de uitkomst van hetzelfde type als de bredere gerangschikt operand. Ik denk dat dit de beste benadering van de ANSI C regels die mogelijk is zonder te weten de exacte maten van de types.
  • PyString_InternFromString nu belicht onder de naam cintern plaats intern, omdat het niet een volledige vervanging van de Python interne functie (kan niet strings welke nul bytes verwerken).
  • De grootte check die eerder werd gegenereerd bij het importeren van een soort verlengstuk is uitgeschakeld voor het moment totdat ik kan denken aan iets beter. Het was het genereren van te veel false positives, bijvoorbeeld uit verschillende versies van numpy.
  • De optie __fastcall roepen conventie wordt nu ondersteund. Ook Pyrex niet langer gaat ervan uit dat __cdecl is de standaard calling convention. Compatibel te worden beschouwd, moeten twee soorten functie ofwel worden gedeclareerd met dezelfde calling conventie, of beide, moet het niet-gespecificeerde vertrekken.
  • Zoals ik zijn bedreigend voor enige tijd, met behulp van __new__ als de naam van de initialisatie methode van een soort uitbreiding heeft een fout in plaats van alleen een waarschuwing te worden. In een toekomstige release zal __new__ opnieuw opduiken met meer Python-achtige semantiek.

Beperkingen

niets gevonden

Vergelijkbare software

Rubinius
Rubinius

10 Feb 16

Contenticious
Contenticious

28 Feb 15

yst
yst

1 Oct 15

Mxx_ru
Mxx_ru

13 May 15

Andere software van ontwikkelaar Greg Ewing

Pyrex
Pyrex

3 Jun 15

Reacties op Pyrex

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