Detalii soft:
Versiune: 0.9.9
Incarca data: 5 Jun 15
Licenţă: Gratuit
Popularitate: 196
Pyrex este un limbaj conceput pentru a crea module de extensie Python scrise în cod C.
Este proiectat pentru a reduce decalajul dintre, nivel înalt frumos, lumea ușor de utilizat de Python și murdar, low-level lumea C.
Pentru tipurile de bază, cum ar fi numere și șiruri acest lucru nu este prea rău, dar nimic mai elaborate și ești în alegerea Python obiecte în afară folosind Python / C apelurile API, care necesită să fie meticulos cu privire la menținerea numărului de referință, verificarea erorilor la fiecare pas și pentru curățenie corespunzător dacă ceva nu merge bine
Ce este nou în această versiune:.
- Unele caracteristici pentru interfațare cu C ++ cod au fost introduse în această versiune.
- Pyrex locuri nu mai prins excepții în statul fir. Acest lucru asigură faptul că excepțiile și tracebacks nu scurge clauzei cu excepția faptului că i-au prins, dacă nu faci ceva pentru a le păstra în mod explicit.
- În prezent, un argument la o funcție Python, care este declarată ca un tip de extensie va, implicit, să li se permită să primească valoarea Niciuna; pentru a preveni acest lucru, trebuie să se califice declarația argumentul cu "nu Niciuna".
- Acum este posibil să se definească și tipul de extensie cu atributele Python care nu participă la colectare a gunoiului ciclic, folosind o noua optiune nogc.
- size_t este acum un tip built-in și este tipul returnat de operator sizeof. De asemenea, dimensiunile size_t și Py_ssize_t acum presupune a fi undeva între timp și lung lung.
- Operațiuni între două tipuri int de același rang reveni acum un rezultat nesemnate dacă oricare dintre operanzi este unsigned; dacă rândurile diferă, rezultatul are același tip ca operandul clasat mai larg. Cred că acest lucru este cel mai bun apropierea normelor ANSI C, care este posibil fără a cunoaște dimensiunile exacte ale tipurilor.
- PyString_InternFromString este acum expus în cintern numele, mai degrabă decât intern, deoarece nu este un înlocuitor complet pentru funcția intern Python (aceasta nu se poate ocupa șiruri care conțin bytes nule).
- Verificați dimensiunea care a fost generat anterior la importul un tip de extensie a fost dezactivat pentru moment, până când mă pot gândi la ceva mai bun. Sa generând prea multe alarme false, de exemplu, de la diferite versiuni ale NumPy.
- Opțiunea convenție __fastcall asteptare este acum suportat. De asemenea, Pyrex nu mai presupune că __cdecl este convenția implicită de asteptare. Pentru a fi considerată compatibilă, două tipuri de funcții trebuie să fie să fie declarate cu aceeași convenție de asteptare, sau ambele trebuie să părăsească nespecificat.
- După cum am fost în pericol de ceva timp, folosind __new__ ca numele metodei inițializare a unui tip de extindere a devenit o eroare, mai degrabă decât doar un avertisment. În unele ediție viitoare, __new__ va re-emerge cu mai multe semantica-Python ca.
Limitări :
nimic găsite
Comentariile nu a fost găsit