I-Inlinec - indlela entsha yokusebenzisa ikhowudi ye-C kwimibhalo yePython

Iprojekthi inlinec Indlela entsha yokudityaniswa kwekhowudi ye-C kwimibhalo yePython iye yacetywa. Imisebenzi ye-C ichazwa ngokuthe ngqo kwifayile yekhowudi yePython, egxininiswe ngumhlobisi "@inlinec". Ushicilelo olusisishwankathelo lusetyenziswa njengoko lusenziwa yitoliki yePython kwaye yahlulwa kusetyenziswa indlela enikwe kwiPython. iikhowudi, okwenza kube lula ukudibanisa i-parser ukuguqula iskripthi ngaphambi kokuyicazulula yitoliki (njengomthetho, imodyuli ye-codecs isetyenziselwa ukugqithiswa kombhalo ocacileyo, kodwa ikuvumela ukuba uguqule ngokungqongqo imixholo yeskripthi).

I-Parser idityaniswe njengemodyuli ("ukusuka kwi-inlinec yokungenisa ngaphakathi"), eyenza inkqubo yokuqala kunye ne-fly-fly iguqulela iinkcazo zemisebenzi ye-C egxininiswe ngokusebenzisa i-@inlinec annotations kwi-ctypes bindings kwaye ibuyisela umzimba womsebenzi we-C umnxeba kwezi zibophelelo. Emva kotshintsho olunjalo, itoliki yePython ifumana umbhalo ochanekileyo oguqulelweyo weskripthi, apho imisebenzi yeC ibizwa ngokuba kusetyenziswa. iictypes. Indlela efanayo ikwasetyenziswa kwiprojekthi Pyxl4, ekuvumela ukuba udibanise i-HTML kunye nekhowudi yePython kwifayile enye.

# ikhowudi: inlinec
ukusuka kwi-inlinec yokungenisa ngaphakathi

@inlinec
def test():
# kuquka
uvavanyo olungenanto () {
printf("Molo, hlabathi");
}

Uphuhliso ukuza kuthi ga ngoku lubonakaliswe njengomzekelo wokulinga, oqulathe iziphene ezifana nokunqongophala kwenkxaso yezalathisi ezidlulayo (ngaphandle kwemitya) kumsebenzi, imfuno yokubaleka.
I-β€œgcc -E” yokucubungula kwangaphambili ikhowudi, ugcino oluphakathi *.so, *.o kunye *.c iifayile kulawulo lwangoku, hayi kugcino lwenguqulelo eguquliweyo kwaye yenze izigaba zokwahlulahlula ezingeyomfuneko (ulibaziseko olude ixesha ngalinye luqhuba).

umthombo: opennet.ru

Yongeza izimvo