Inlinec: unha nova forma de usar código C nos scripts de Python

proxecto inlinec Propúxose un novo método para a integración en liña de código C nos scripts de Python. As funcións C defínense directamente no mesmo ficheiro de código Python, destacado polo decorador "@inlinec". O script de resumo é executado polo intérprete de Python e analizado usando o mecanismo proporcionado en Python codecs, o que permite conectar un analizador para transformar o script antes de analizalo polo intérprete (por norma, o módulo de códecs úsase para a transcodificación de texto transparente, pero tamén permite transformar arbitrariamente o contido do script).

O analizador está conectado como un módulo ("de inlinec import inlinec"), que realiza o procesamento inicial e traduce ao voo as definicións das funcións C resaltadas usando anotacións @inlinec en enlaces de ctypes e substitúe o corpo da función C por unha chamada a estas vinculacións. Despois de tal transformación, o intérprete de Python recibe o texto fonte convertido correcto do script, no que as funcións C son chamadas usando ctipos. Tamén se utiliza un método similar no proxecto Pyxl4, que permite mesturar código HTML e Python nun só ficheiro.

# codificación: inlinec
de inlinec importar inlinec

@inlinec
proba def():
#incluír
void test() {
printf("Ola, mundo");
}

O desenvolvemento preséntase ata agora como un prototipo experimental, que contén deficiencias como a falta de soporte para pasar punteiros (excepto cadeas) á función, a necesidade de executar
"gcc -E" para o preprocesamento de código, gardando ficheiros intermedios *.so, *.o e *.c no directorio actual, sen almacenar na caché a versión convertida e realizar etapas de análise innecesarias (longos atrasos cada vez que se executa).

Fonte: opennet.ru

Engadir un comentario