Projekt Esitatakse uus meetod inline-koodi integreerimiseks C keeles Python skriptidesse. C keeles funktsioonid mÀÀratletakse otse ĂŒhes failis koos Python koodiga, eristades neid dekoraatoriga «@inlinec». KokkuvĂ”tlik skript kĂ€ivitatakse nii, nagu see on Python tĂ”lgis, ja analĂŒĂŒsitakse Pythonis pakutava mehhanismiga. , vĂ”imaldades kasutada parserit skripti transformeerimiseks enne selle tĂ”lgini viimist (tavaliselt kasutatakse moodulit codecs tekstide lĂ€bikoodimiseks, kuid see vĂ”imaldab ka sisu vabalt transformeerida).
Parser seotakse moodulina («from inlinec import inlinec»), mis teostab esmase töötlemise ja veebisarklarite ĂŒlesanet C funktsioonide mÀÀratlemisel, mis on esile tĂ”stetud annotatsioonide @inlinec abil, ctypes-katteks ning asendab C funktsiooni sisu nende katetega. PĂ€rast sellist transformatsiooni saab Python tĂ”lkija juba korrektse muudetud skripti algteksti, kus C funktsioonid on kutsutud lĂ€bi . Sarnast meetodit kasutatakse ka projektis , mis vĂ”imaldab segada HTML ja Python koodi ĂŒhes failis.
# coding: inlinec
from inlinec import inlinec
@inlinec
def test():
#include<stdio.h>
void test() {
printf(«Tere, maailm»);
}
Arendust kÀsitletakse veel katsetuslikuna, kus on nÀhtavad puudused, nÀiteks pointerite (vÀlja arvatud stringide) edastamise toetuse puudumine, vajadus jooksutada
«gcc -E» koodi ettevalmistamiseks, vahepealsete *.so, *.o ja *.c failide salvestamine kasutajakapotti, muudetud variandi salvestamise puudumine ja liialt palju analĂŒĂŒsietappe (suured viivitused igal kĂ€ivitamisel).
Allikas: opennet.ru
