I-Inlinec - indlela entsha yokusebenzisa ikhodi C kumaskripthi wePython

Iphrojekthi i-inlinec Indlela entsha yokuhlanganiswa okusemgqeni kwekhodi ye-C kumbhalo wePython isiphakamisiwe. Imisebenzi ye-C ichazwa ngokuqondile kufayela lekhodi ye-Python efanayo, eqokonyiswe umhlobisi we-"@inlinec". Iskripthi esifingqiwe senziwa njengoba kwenziwa umhumushi wePython futhi sicutshungulwe kusetshenziswa indlela enikezwe kuPython. amakhodekhi, okwenza kube nokwenzeka ukuxhuma umhlaseli ukuze aguqule iskripthi ngaphambi kokusidlulisa ngumhumushi (njengomthetho, imojula ye-codecs isetshenziselwa ukudlulisa amakhodi ombhalo obala, kodwa futhi ikuvumela ukuthi uguqule ngokungenasisekelo okuqukethwe kweskripthi).

Umhlahleli uxhunywe njengemojula (“kusuka ku-inlinec yokungenisa inlinec”), eyenza ukucutshungulwa kokuqala futhi on-the-fly ihumushe izincazelo zemisebenzi engu-C egqanyisiwe kusetshenziswa izichasiselo ze-@inlinec zibe ukubopha kwama-ctypes futhi esikhundleni somzimba womsebenzi C ngo ucingo kulezi zibopho. Ngemuva kokuguqulwa okunjalo, umhumushi wePython uthola umbhalo olungile oguquliwe womthombo weskripthi, lapho imisebenzi ye-C ibizwa ngokuthi kusetshenziswa. ctypes. Indlela efanayo nayo isetshenziswa kuphrojekthi I-Pyxl4, okukuvumela ukuthi uhlanganise ikhodi ye-HTML ne-Python efayeleni elilodwa.

# ukufaka amakhodi: i-inlinec
kusuka ku-inlinec yokungenisa i-inlinec

@inlinec
def test():
#hlanganisa
ukuhlolwa okuyize() {
printf ("Sawubona, mhlaba");
}

Ukuthuthukiswa kuze kube manje kwethulwe njengesibonelo sokuhlola, esiqukethe ukushiyeka njengokuntuleka kokusekelwa kwezikhombisi ezidlulayo (ngaphandle kwezintambo) kumsebenzi, isidingo sokusebenza.
I-“gcc -E” yokucubungula ngaphambilini ikhodi, ilondoloza amafayela amaphakathi *.so, *.o kanye *.c ohlwini lwemibhalo lwamanje, ingalondolozi inguqulo eguquliwe nokwenza izigaba zokuhlaziya ezingadingekile (ukubambezeleka okude isikhathi ngasinye lapho isebenza).

Source: opennet.ru

Engeza amazwana