Inlinec - njia mpya ya kutumia nambari ya C kwenye hati za Python

Mradi inlinec Njia mpya ya ujumuishaji wa ndani wa nambari ya C kwenye hati za Python imependekezwa. Kazi za C zinafafanuliwa moja kwa moja katika faili sawa ya msimbo wa Python, iliyoangaziwa na kipamba "@inlinec". Hati ya muhtasari inatekelezwa kama ilivyo kwa mkalimani wa Python na kuchanganuliwa kwa kutumia utaratibu uliotolewa katika Python. kodeki, ambayo inafanya uwezekano wa kuunganisha kichanganuzi ili kubadilisha hati kabla ya kuichanganua na mkalimani (kama sheria, moduli ya codecs hutumiwa kwa upitishaji wa maandishi ya uwazi, lakini pia hukuruhusu kubadilisha kiholela yaliyomo kwenye hati).

Kichanganuzi kimeunganishwa kama moduli ("kutoka kwa inlinec ya kuingiza inlinec"), ambayo hufanya uchakataji wa msingi na unaporuka hutafsiri ufafanuzi wa chaguo za kukokotoa za C, zilizoangaziwa kwa kutumia maelezo ya @inlinec, katika vifungo vya ctypes na kuchukua nafasi ya kipengele cha chaguo cha kukokotoa cha C. na wito kwa vifungo hivi. Baada ya mabadiliko kama haya, mkalimani wa Python hupokea maandishi sahihi ya chanzo cha maandishi, ambayo kazi za C huitwa kutumia. aina. Njia kama hiyo pia hutumiwa katika mradi Pyxl4, ambayo hukuruhusu kuchanganya nambari ya HTML na Python kwenye faili moja.

# usimbaji: inlinec
kutoka inlinec import inlinec

@inlinec
mtihani wa def ():
#jumuisha
mtihani batili() {
printf("Habari, ulimwengu");
}

Maendeleo kwa sasa yanawasilishwa kama mfano wa majaribio, ambayo yana mapungufu kama vile ukosefu wa usaidizi wa kupitisha viashiria (isipokuwa kamba) kwa chaguo la kukokotoa, hitaji la kukimbia.
"gcc -E" kwa usindikaji wa awali wa msimbo, kuhifadhi faili za kati *.so, *.o na *.c katika saraka ya sasa, bila kuakibisha toleo lililobadilishwa na kutekeleza hatua zisizo za lazima za uchanganuzi (kucheleweshwa kwa muda mrefu kila wakati inapoendeshwa).

Chanzo: opennet.ru

Kuongeza maoni