Inlinec: una nueva forma de usar el código C en los scripts de Python

proyecto en línea Se ha propuesto un nuevo método para la integración en línea de código C en scripts de Python. Las funciones C se definen directamente en el mismo archivo de código Python, resaltado por el decorador "@inlinec". El script de resumen se ejecuta tal cual mediante el intérprete de Python y se analiza utilizando el mecanismo proporcionado en Python. códecs, lo que permite conectar un analizador para transformar el script antes de que el intérprete lo analice (por regla general, el módulo codecs se utiliza para la transcodificación de texto transparente, pero también le permite transformar arbitrariamente el contenido del script).

El analizador está conectado como un módulo (“from inlinec import inlinec”), que realiza el procesamiento primario y traduce sobre la marcha las definiciones de las funciones C, resaltadas mediante anotaciones @inlinec, en enlaces ctypes y reemplaza el cuerpo de la función C. con un llamado a estas vinculaciones. Después de dicha transformación, el intérprete de Python recibe el texto fuente convertido correcto del script, en el que las funciones C se llaman usando tipos. También se utiliza un método similar en el proyecto. Pyxl4, que le permite mezclar código HTML y Python en un solo archivo.

# codificación: en línea
desde inlinec importar inlinec

@inlinec
prueba de definición():
#incluir
prueba nula() {
printf("Hola mundo");
}

El desarrollo se presenta actualmente como un prototipo experimental, que contiene deficiencias como la falta de soporte para pasar punteros (excepto cadenas) a la función, la necesidad de ejecutar
“gcc -E” para el preprocesamiento de código, guardando archivos intermedios *.so, *.o y *.c en el directorio actual, sin almacenar en caché la versión convertida y realizando etapas de análisis innecesarias (largos retrasos cada vez que se ejecuta).

Fuente: opennet.ru

Añadir un comentario