Inlinec — ett nytt sĂ€tt att anvĂ€nda C-kod i Python-skript

Projektet inlinec ett nytt sÀtt att inline-integrera kod i C-sprÄket i Python-skript föreslÄs. Funktioner i C definieras direkt i samma fil med Python-kod, markerade med dekoreraren "@inlinec". Det aggregerade skriptet körs som det Àr av tolken spython och tolkas med hjÀlp av den mekanism som tillhandahÄlls i Python. mellan codecs, som ger möjlighet att ansluta en parser för att transformera skriptet innan det tolkas av tolken (vanligtvis anvÀnds modulen codecs för transparent omkodning av text, men den möjliggör Àven godtycklig transformation av skriptinnehÄllet).

Parsern ansluts som en modul ("from inlinec import inlinec"), som utför en preliminÀr behandling och översÀtter i realtid definitionerna av C-funktioner, markerade med annoteringar @inlinec, till ctypes-bindningar och ersÀtter C-funktionens kropp med anrop till dessa bindningar. Efter en sÄdan transformation fÄr Python-tolken en korrekt transformerad kÀllkod, dÀr C-funktionerna anropas med hjÀlp av ctypes. En liknande metod anvÀnds ocksÄ i projektet Pyxl4, som möjliggör att blanda HTML och Python-kod i en och samma fil.

# coding: inlinec
from inlinec import inlinec

@inlinec
def test():
#include<stdio.h>
void test() {
printf("Hello, world");
}

Utvecklingen presenteras fortfarande som en experimentell prototyp, dÀr sÄdana brister noteras som ingen stöd för att skicka pekare (utom strÀngar) till funktionen, behovet av att köra
"gcc -E" för förbehandling av koden, sparande av mellanliggande *.so, *.o och *.c-filer i den aktuella katalogen, avsaknad av caching av den transformerade varianten och genomförande av onödiga tolkningsteg (stora fördröjningar vid varje körning).

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster