Pyrex

Screenshot Software:
Pyrex
Szczegóły programowe:
Wersja: 0.9.9
Filmu: 5 Jun 15
Wywoływacz: Greg Ewing
Licencja: Wolny
Popularność: 77

Rating: 4.0/5 (Total Votes: 2)

Pyrex to język przeznaczony do tworzenia Pythona modułów rozszerzeń napisanych w kodzie C.
Jest zaprojektowany w celu wypełnienia luki pomiędzy miłym, wysokim poziomie i łatwy w użyciu świat Python i niechlujny, niskopoziomowe świat C
Do podstawowych typów, takich jak numery i smyczki to nie jest tak źle, ale nic bardziej skomplikowanego i jesteś pod zbierając Python obiektów poza używając Python / C wywołań API, które wymaga, aby być skrupulatny o utrzymanie liczby odniesień, sprawdzanie błędów na każdym kroku i oczyszczanie prawidłowo, jeśli coś pójdzie nie tak

Co nowego w tym wydaniu:.

  • Niektóre funkcje na współpracę z kodu C ++ zostały wprowadzone w tej wersji.
  • nie ma już miejsca Pyrex złowione wyjątki w stanie gwintu. Gwarantuje to, że wyjątki i tracebacks nie wycieknie z wyjątkiem klauzuli, że ich złapać, chyba że coś się wyraźnie ich utrzymanie.
  • Obecnie argument funkcji Pythona, który jest zadeklarowany jako typ rozszerzenia będzie domyślnie, może otrzymywać wartość None; aby temu zapobiec, należy zakwalifikować deklarację argumentów z "nie Brak".
  • Teraz można definiować i rodzaj rozszerzenie z atrybutami Pythona, które nie uczestniczą w cyklicznych wywóz śmieci, za pomocą nowej opcji nogc.
  • size_t jest teraz wbudowany rodzaj i typ zwracany jest przez operatora sizeof. Również rozmiary size_t i Py_ssize_t obecnie zakłada się, że gdzieś pomiędzy długo i długo, długo.
  • Obsługa pomiędzy dwoma int typów tej samej rangi teraz zwracają nieoznaczoną wynik, jeśli jeden z argumentów jest podpisany; jeśli szeregi różnią, wynik ten sam typ jako szerszy ocenionym argumentu. Myślę, że to jest najlepsze przybliżenie zasad ANSI C, które jest możliwe bez znajomości dokładnych rozmiarów typów.
  • PyString_InternFromString jest teraz wystawiony pod nazwą cintern zamiast stażysta, bo to nie jest pełne zastąpienie funkcji stażysta Pythona (nie może obsłużyć ciągi zawierające pustych bajtów).
  • Sprawdzanie rozmiaru, który został wcześniej wygenerowany podczas importowania typ wewnętrzny został wyłączony przez jakiś czas, dopóki mogę wymyślić coś lepszego. Został generowania fałszywych alarmów zbyt wiele, na przykład z różnymi wersjami numpy.
  • Opcja Konwencja __fastcall dzwoniąc jest obecnie obsługiwane. Ponadto, Pyrex nie zakłada, że ​​__cdecl jest konwencja wywoływania domyślny. Aby zostać uznana za zgodną, ​​dwa rodzaje funkcji musi albo być zadeklarowane w tej samej konwencji wywołującego lub oba muszą zostawić nieokreślony.
  • Jak byłem grożąc przez jakiś czas, za pomocą __new__ jak nazwa metody inicjalizacji typu rozszerzenia stała się błąd, a nie tylko ostrzeżenie. W niektórych przyszłych wersjach, __new__ będzie przeinstalowanie z bardziej podobne do semantyki Pythona.

Ograniczenia :

nic nie znaleziono

Podobne oprogramowanie

Rakudo
Rakudo

10 Feb 16

Closure (Python)
Closure (Python)

13 May 15

asm.js
asm.js

12 Apr 15

lessphp
lessphp

13 Apr 15

Inne programy z deweloperem Greg Ewing

Pyrex
Pyrex

3 Jun 15

Komentarze do Pyrex

Komentarze nie znaleziono
Dodaj komentarz
Włącz zdjęć!