Pyrex

Screenshot Software:
Pyrex
Szczegóły programowe:
Wersja: 0.9.4.1
Filmu: 3 Jun 15
Wywoływacz: Greg Ewing
Licencja: Wolny
Popularność: 45

Rating: 1.0/5 (Total Votes: 2)

Pyrex jest do zapisu języka Python moduły rozszerzeń.
Pyrex jest językiem specjalnie zaprojektowane do pisania modułów rozszerzających Pythona. 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
Być może zastanawiasz się, dlaczego ktoś chciałby specjalny język do tego. Python jest bardzo łatwo rozszerzyć za pomocą C lub C ++, co nie? Dlaczego po prostu nie pisać modułów rozszerzeń w jednym z tych języków?
Cóż, jeśli kiedykolwiek napisał moduł rozszerzenia dla Pythona, to wiesz, że rzeczy nie są tak proste, jak to wszystko. Po pierwsze, nie jest w porządku trochę standardowy kod pisać, zanim będzie można nawet dostać się z ziemi. Wtedy masz do czynienia z problemem konwersji między Python i C, typów danych. 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. Wszelkie błędy i masz paskudny wypadek, co jest bardzo trudne do debugowania.
Różne narzędzia zostały opracowane w celu ułatwienia niektórych obciążeń wytwarzania kod rozszerzenia, z których być może SWIG jest najbardziej znany. SWIG zajmuje plik definicji składający się z mieszaniny kodu C i wyspecjalizowanych deklaracji i tworzy moduł rozszerzeń. Pisze, że wszystkie szablonowe dla Ciebie, a w wielu przypadkach można go używać bez znajomości Python / C API. Ale trzeba użyć wywołania API, jeśli wymagana jest jakakolwiek znacząca restrukturyzacja danych między Python i C
Co więcej, daje SWIG w ogóle żadnej pomocy, jeśli chcesz utworzyć nowy wbudowany typ Pythona. Będzie generować klasy czystej Pythona, który okład (w nieco niebezpieczny sposób) wskaźniki do struktur danych C, ale tworzenie prawdziwych typów rozszerzeń jest poza jej zakresem.
Inną godną uwagi próbą co ułatwia rozszerzenie Python jest PyInline, zainspirowany podobnym kwaterze dla Perl. PyInline umożliwia osadzenie fragmentów kodu C w środku pliku Python i automatycznie wydobywa je i zestawia je do rozszerzenia. Ale to tylko zamienia podstawowe typy automatycznie, i tak jak SWIG, nie odnosi się do tworzenia nowych typów Pythona.
Pyrex ma iść daleko poza to, co każda z tych poprzednich narzędzi zapewnia. Pyrex dotyczy podstawowych rodzajów równie łatwo, jak SWIG, ale także pozwala na pisanie kodu do konwersji dowolnych struktur danych Python i C dowolnych struktur danych, w prosty i naturalny sposób, nie wiedząc nic o / C API Pythona. To prawda - w ogóle nic! Ani nie musisz się martwić o zliczanie referencji lub sprawdzania błędów - to wszystko jest załatwione automatycznie, za kulisami, tak jak to jest w interpretowany kodu Pythona. A co więcej, Pyrex pozwala zdefiniować nowe typy wbudowane Pythona równie łatwo, jak można zdefiniować nowe klasy w Pythonie.
Co nowego w tym wydaniu:
· Tiny bugfix celu naprawienia problemu zakładka / przestrzeni w rozszerzeniu distutils.

Podobne oprogramowanie

clig
clig

3 Jun 15

gears-stylus
gears-stylus

20 Feb 15

Magic C++
Magic C++

3 Jun 15

Inne programy z deweloperem Greg Ewing

Pyrex
Pyrex

5 Jun 15

Komentarze do Pyrex

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