Pyrex

Software screenshot:
Pyrex
Rincian Software:
Versi: 0.9.9
Tanggal Upload: 5 Jun 15
Pengembang: Greg Ewing
Lisensi: Gratis
Popularitas: 196

Rating: 2.5/5 (Total Votes: 4)

Pyrex adalah bahasa yang dirancang untuk membuat ekstensi modul Python ditulis dalam kode C.
Ini dirancang untuk menjembatani kesenjangan antara yang baik, tingkat tinggi, mudah digunakan dunia Python dan berantakan, tingkat rendah dunia C.
Untuk tipe dasar seperti angka dan string ini tidak terlalu buruk, tapi sesuatu yang lebih rumit dan Anda menjadi memilih Python objek terpisah menggunakan Python / C API panggilan, yang mengharuskan Anda untuk menjadi teliti tentang menjaga jumlah referensi, memeriksa kesalahan di setiap langkah dan membersihkan benar jika ada yang tidak beres

Apa yang baru dalam rilis ini:.

  • Beberapa fitur untuk interfacing dengan C ++ kode telah diperkenalkan dalam rilis ini.
  • tempat tidak lagi Pyrex tertangkap pengecualian ke negara benang. Hal ini memastikan bahwa pengecualian dan tracebacks tidak bocor keluar dari kecuali klausul yang menangkap mereka, kecuali Anda melakukan sesuatu untuk secara eksplisit menjaga mereka.
  • Saat ini, argumen untuk fungsi Python yang dinyatakan sebagai jenis ekstensi akan, secara default, diizinkan untuk menerima nilai ada; untuk mencegah hal ini, Anda harus memenuhi syarat deklarasi argumen dengan 'tidak ada'.
  • Sekarang mungkin untuk menentukan dan jenis ekstensi dengan atribut Python yang tidak berpartisipasi dalam pengumpulan sampah siklik, menggunakan opsi nogc baru.
  • size_t sekarang tipe built-in dan merupakan jenis dikembalikan oleh operator sizeof. Juga, ukuran size_t dan Py_ssize_t sekarang diasumsikan suatu tempat antara panjang dan lama.
  • Operasi antara dua jenis int dengan nilai yang sama sekarang kembali hasil unsigned jika salah satu dari operan adalah unsigned; jika jajaran berbeda, hasilnya memiliki tipe yang sama dengan operan yang lebih luas-peringkat. Saya rasa ini adalah pendekatan terbaik dari aturan ANSI C yang mungkin tanpa mengetahui ukuran yang tepat dari jenis.
  • PyString_InternFromString sekarang terkena bawah cintern nama daripada magang, karena itu bukan pengganti yang lengkap untuk fungsi intern Python (tidak dapat menangani string yang mengandung byte null).
  • check ukuran yang sebelumnya dihasilkan ketika mengimpor jenis ekstensi telah dinonaktifkan untuk sementara waktu sampai aku bisa memikirkan sesuatu yang lebih baik. Itu menghasilkan terlalu banyak positif palsu, misalnya dari versi yang berbeda dari numpy.
  • __fastcall memanggil opsi konvensi sekarang didukung. Juga, Pyrex tidak lagi menganggap bahwa __cdecl adalah default konvensi pemanggilan. Untuk dipertimbangkan kompatibel, dua jenis fungsi harus baik dinyatakan dengan sama panggilan konvensi, atau keduanya harus meninggalkannya tidak ditentukan.
  • Seperti yang saya telah mengancam untuk beberapa waktu, menggunakan __new__ sebagai nama metode inisialisasi dari jenis ekstensi telah menjadi kesalahan bukan hanya peringatan. Dalam beberapa masa mendatang, __new__ akan muncul kembali dengan lebih Python seperti semantik.

Keterbatasan :

tidak ditemukan

Software yang serupa

Mammouth
Mammouth

13 Apr 15

Teapot
Teapot

1 May 16

PyPy.js
PyPy.js

4 Jun 15

Perangkat lunak lain dari pengembang Greg Ewing

Pyrex
Pyrex

3 Jun 15

Komentar untuk Pyrex

Komentar tidak ditemukan
Tambahkan komentar
Aktifkan gambar!