Inlinec: un nuovo modo di utilizzare il codice C negli script Python

progetto inlinec È stato proposto un nuovo metodo per l'integrazione in linea del codice C negli script Python. Le funzioni C sono definite direttamente nello stesso file di codice Python, evidenziato dal decoratore “@inlinec”. Lo script di riepilogo viene eseguito così com'è dall'interprete Python e analizzato utilizzando il meccanismo fornito in Python codec, che consente di connettere un parser per trasformare lo script prima di analizzarlo da parte dell'interprete (di norma, il modulo codecs viene utilizzato per la transcodifica trasparente del testo, ma consente anche di trasformare arbitrariamente il contenuto dello script).

Il parser è connesso come un modulo (“from inlinec import inlinec”), che esegue l'elaborazione iniziale e traduce al volo le definizioni delle funzioni C evidenziate utilizzando le annotazioni @inlinec in collegamenti ctypes e sostituisce il corpo della funzione C con una chiamata a questi legami. Dopo tale trasformazione, l'interprete Python riceve il testo sorgente convertito correttamente dello script, in cui le funzioni C vengono chiamate utilizzando tipi di c. Un metodo simile viene utilizzato anche nel progetto Pyxl4, che ti consente di combinare codice HTML e Python in un unico file.

# codifica: inlinec
da inlinec importa inlinec

@inlinec
prova def():
#includere
prova nulla() {
printf("Ciao mondo");
}

Lo sviluppo è finora presentato come un prototipo sperimentale, che contiene carenze come la mancanza di supporto per il passaggio di puntatori (tranne le stringhe) alla funzione, la necessità di eseguire
"gcc -E" per la preelaborazione del codice, salvando i file intermedi *.so, *.o e *.c nella directory corrente, senza memorizzare nella cache la versione convertita ed eseguendo fasi di analisi non necessarie (lunghi ritardi ogni volta che viene eseguito).

Fonte: opennet.ru

Aggiungi un commento