Pyrex

Software screenshot:
Pyrex
Rincian Software:
Versi: 0.9.4.1
Tanggal Upload: 3 Jun 15
Pengembang: Greg Ewing
Lisensi: Gratis
Popularitas: 113

Rating: 1.3/5 (Total Votes: 3)

Pyrex adalah Bahasa untuk Menulis Python Perpanjangan Modul.
Pyrex adalah bahasa yang dirancang khusus untuk menulis modul ekstensi Python. Ini dirancang untuk menjembatani kesenjangan antara yang baik, tingkat tinggi, mudah digunakan dunia Python dan berantakan, tingkat rendah dunia C.
Anda mungkin bertanya-tanya mengapa ada orang yang ingin bahasa khusus untuk ini. Python benar-benar mudah untuk memperpanjang menggunakan C atau C ++, bukan? Mengapa tidak hanya menulis modul ekstensi Anda dalam salah satu bahasa tersebut?
Nah, jika Anda pernah menulis sebuah modul ekstensi untuk Python, Anda akan tahu bahwa hal-hal yang tidak semudah semua itu. Pertama-tama, ada sedikit wajar kode boilerplate untuk menulis sebelum Anda bahkan bisa mendapatkan dari tanah. Kemudian Anda dihadapkan dengan masalah mengkonversi antara tipe data Python dan 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. Kesalahan dan Anda memiliki kecelakaan buruk yang sangat sulit untuk debug.
Berbagai alat telah dikembangkan untuk mengurangi beberapa beban menghasilkan kode ekstensi, yang mungkin SWIG adalah yang terbaik dikenal. SWIG mengambil file definisi yang terdiri dari campuran kode C dan deklarasi khusus, dan menghasilkan modul ekstensi. Itu menulis semua boilerplate untuk Anda, dan dalam banyak kasus, Anda dapat menggunakannya tanpa mengetahui tentang Python / C API. Tapi Anda harus menggunakan API panggilan jika ada restrukturisasi besar data yang diperlukan antara Python dan C.
Terlebih lagi, SWIG memberi Anda tidak membantu sama sekali jika Anda ingin membuat built-in jenis Python baru. Ini akan menghasilkan murni Python kelas yang membungkus (dalam cara yang sedikit tidak aman) pointer ke struktur data C, tetapi penciptaan jenis ekstensi yang benar adalah di luar ruang lingkup.
Upaya penting lain untuk membuat lebih mudah untuk memperpanjang Python adalah PyInline, terinspirasi oleh fasilitas serupa untuk Perl. PyInline memungkinkan Anda menanamkan potongan kode C di tengah-tengah sebuah file Python, dan secara otomatis ekstrak mereka dan mengkompilasi mereka ke ekstensi. Tapi itu hanya mengubah tipe dasar secara otomatis, dan seperti SWIG, itu tidak membahas penciptaan jenis Python baru.
Pyrex bertujuan untuk pergi jauh melampaui apa yang salah dari alat sebelumnya memberikan. Pyrex berkaitan dengan tipe dasar semudah SWIG, tetapi juga memungkinkan Anda menulis kode untuk mengkonversi antara struktur data Python sewenang-wenang dan struktur data C sewenang-wenang, dengan cara yang sederhana dan alami, tanpa mengetahui apa-apa tentang Python / C API. Itu benar - tidak ada sama sekali! Anda juga tidak perlu khawatir tentang penghitungan referensi atau pengecekan error - itu semua diurus secara otomatis, di belakang layar, hanya seperti di kode Python ditafsirkan. Dan apa lagi, Pyrex memungkinkan Anda menentukan baru built-in jenis Python semudah Anda dapat menentukan kelas-kelas baru di Python.
Apa yang Baru di Release ini:
· Kecil bugfix untuk memperbaiki masalah tab / ruang dalam ekstensi distutils.

Software yang serupa

Ruby
Ruby

17 Aug 18

JBasic
JBasic

3 Jun 15

GCC ARM Embedded
GCC ARM Embedded

17 Aug 18

Perangkat lunak lain dari pengembang Greg Ewing

Pyrex
Pyrex

5 Jun 15

Komentar untuk Pyrex

Komentar tidak ditemukan
Tambahkan komentar
Aktifkan gambar!