Pyrex

Screenshot Software:
Pyrex
Mga detalye ng Software:
Bersyon: 0.9.4.1
I-upload ang petsa: 3 Jun 15
Nag-develop: Greg Ewing
Lisensya: Libre
Katanyagan: 45

Rating: 1.0/5 (Total Votes: 2)

Pyrex ay isang Language para sa Pagsusulat Python Module Extension.
Pyrex ay isang wika na sadyang idinisenyo para sa pagsulat ng mga module extension Python. Ito ay dinisenyo upang tulay ang puwang sa pagitan ng mga nice, high-level, madaling-gamitin na mga mundo ng Python at ang magulo, ang mababang antas ng mundo ng C.
Ikaw ay maaaring maging nagtataka kung bakit ang sinuman ay nais ng isang espesyal na wika para sa mga ito. Python ay talagang madali para i-extend ang paggamit ng C o C ++, ay hindi ito? Bakit hindi lamang isulat ang iyong mga module ng extension sa isa sa mga wika?
Well, kung ka na isinulat ng isang module extension para sa Python, malalaman mo na ang mga bagay ay hindi kasing-dali ng lahat na. Una sa lahat, may isang makatarungang bit ng boilerplate code na magsulat bago kang makakuha ng kahit bumaba sa lupa. Pagkatapos, kayo ay nahaharap sa mga problema ng pag-convert sa pagitan ng mga uri ng data sawa at C. Para sa mga pangunahing uri tulad ng mga numero at mga string na ito ay hindi masyadong masamang, ngunit ang anumang mas detalyado at ikaw ay sa pagpili ng Python object ng hiwalay gamit ang mga tawag sa API / C Python, na nangangailangan sa iyo upang maging maselan tungkol sa pagpapanatili ng reference bilang, pagsuri para sa mga error sa bawat hakbang at paglilinis up ng maayos kung anumang bagay na napupunta mali. Anumang mga pagkakamali at ikaw ay magkaroon ng isang pangit crash na ay mahirap na debug.
Iba't-ibang mga kasangkapan na ito ay binuo sa luwag ang ilan sa mga pasanin ng paggawa ng code extension, na kung saan ay marahil SWIG ay ang pinakamahusay na kilala. SWIG ay tumatagal ng isang kahulugan file na binubuo ng isang timpla ng C code at specialized pahayag, at gumagawa ng isang module extension. Magsusulat ng lahat ng mga boilerplate na para sa iyo, at sa maraming mga kaso maaari mong gamitin ito nang walang pag-alam tungkol sa mga Python / C API. Ngunit kailangan mong gamitin ang mga tawag sa API kung anumang malaking restructuring ng data ay kinakailangan sa pagitan ng Python at C.
Ano pa, ay nagbibigay sa iyo SWIG walang tulong sa lahat kung nais mong lumikha ng isang bagong built-in type Python. Ito ay bumuo ng purong-sawa klase kung saan wrap (sa isang bahagyang hindi ligtas na paraan) payo sa C istruktura ng data, ngunit sa paglikha ng mga tunay na mga uri ng extension ay nasa labas ng saklaw nito.
Ang isa pang tanyag na pagtatangka sa paggawa ng mas madali para i-extend sawa ay PyInline, inspirasyon sa pamamagitan ng isang katulad na pasilidad para sa Perl. PyInline hinahayaan-embed na mga piraso ng C code sa gitna ng isang sawa na file, at awtomatikong extracts kanila at compiles ang mga ito sa isang extension. Pero nagpalit ito lamang awtomatikong mga pangunahing uri, at bilang may SWIG, ito ay hindi address ang paglikha ng mga bagong uri ng Python.
Naglalayong Pyrex upang pumunta malayo na lampas sa kung ano ang anuman sa mga nakaraang mga kasangkapan ay nagbibigay ng. Pyrex deal sa mga pangunahing uri tulad ng madaling bilang SWIG, ngunit nagbibigay-daan din ito ng isulat ang code upang i-convert sa pagitan ng mga arbitrary na kaayusan Python data at arbitrary na kaayusan C data, sa isang simple at natural na paraan, walang alam ang anumang bagay tungkol sa Python / C API. Iyan ay karapatan - wala sa lahat! Hindi rin kailangang mag-alala tungkol sa mga reference bilangin o error checking - ito ang lahat alaga awtomatikong, sa likod ng mga eksena, tulad ng ito ay nasa naisalin Python code. At kung ano pa, hinahayaan Pyrex mong tukuyin ang mga bagong built-in na mga uri Python tulad ng madaling bilang maaari mong tukuyin ang mga bagong klase sa sawa.
Ano ang Bago sa Paglabas na ito:
· Maliit bugfix upang iwasto ang isang problema tab / puwang sa extension distutils.

Katulad na software

GNU Smalltalk
GNU Smalltalk

11 May 15

Toka
Toka

3 Jun 15

Voodoo Compiler
Voodoo Compiler

20 Feb 15

pyLisp-NG
pyLisp-NG

3 Jun 15

Iba pang mga software developer ng Greg Ewing

Pyrex
Pyrex

5 Jun 15

Mga komento sa Pyrex

Mga Komento hindi natagpuan
Magdagdag ng komento
I-sa mga imahe!