Inlinec — uus viis C-koodi kasutamiseks Python-skriptides

Projekt inlinec pakub uut inline-integratsiooni meetodit C-keeles kirjutatud koodi Python-skriptidesse. C-keeles kirjutatud funktsioonid mÀÀratakse otse samas failis Python-koodiga, kasutades dekoratoori «@inlinec». KokkuvĂ”ttes skripti tĂ€idab Python interpreter 'spython' ja analĂŒĂŒsib seda Pythonis pakutava mehhanismi abil. koode, mis vĂ”imaldab lisada parseri skripti muutmiseks enne selle tĂ”lgendamist interpreteeritud (tavaliselt kasutatakse moodulit codecs tekstide sujuvaks dekodeerimiseks, kuid see vĂ”imaldab ka igasugust sisu transformeerimist skriptis).

Parser lisatakse moodulina («from inlinec import inlinec»), mis teostab esmase töötlemise ja reaalajas tÔlgib @inlinec annotatsioonide abil eristatud C-funktsioonide mÀÀratlused ctypes-katteks ning asendab C-funktsiooni sisu nende katete vÀljakutsumisega. PÀrast seda transformeerimist saab Python interpreter juba korrektselt muudetud algtekstiga skripti, kus C-funktsioonid kutsutakse esile ctypes. Samuti rakendatakse sarnast meetodit projektis Pyxl4, mis vÔimaldab HTML-i ja Pythoni koodi samas failis segada.

# coding: inlinec
from inlinec import inlinec

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

Arendamine on alles katsetamisfaasis, kus on tÔdetud, et sellised puudujÀÀgid, nagu funktsiooni argumentide puhul viidatud nÀidikute (vÀlja arvatud stringide) toetamata jÀtmine, on vajalik kÀivitada
"gcc -E" koodi eelprotsessorina, vahepealsete *.so, *.o ja *.c failide salvestamine praeguses kataloogis, muudetud variandi vahemĂ€lutamise puudumine ja liigsete analĂŒĂŒsietappide lĂ€biviimine (suured viivitused iga kĂ€ivituse puhul).

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster