Inlinec - une nouvelle façon d'utiliser le code C dans les scripts Python

projet en ligne Une nouvelle méthode d'intégration en ligne du code C dans les scripts Python a été proposée. Les fonctions C sont définies directement dans le même fichier de code Python, mis en évidence par le décorateur « @inlinec ». Le script de résumé est exécuté tel quel par l'interpréteur Python et analysé à l'aide du mécanisme fourni en Python codecs, qui permet de connecter un analyseur pour transformer le script avant de l'analyser par l'interprète (en règle générale, le module codecs est utilisé pour le transcodage transparent du texte, mais il permet également de transformer arbitrairement le contenu du script).

L'analyseur est connecté en tant que module (« from inlinec import inlinec »), qui effectue le traitement initial et traduit à la volée les définitions des fonctions C mises en évidence à l'aide des annotations @inlinec en liaisons ctypes et remplace le corps de la fonction C par un appel à ces liaisons. Après une telle transformation, l'interpréteur Python reçoit le texte source converti correct du script, dans lequel les fonctions C sont appelées en utilisant types. Une méthode similaire est également utilisée dans le projet Pyxl4, qui vous permet de mélanger du code HTML et Python dans un seul fichier.

# codage : inlinec
depuis inlinec importer inlinec

@inlinec
test def() :
#comprendre
test nul() {
printf("Bonjour tout le monde");
}

Le développement est jusqu'à présent présenté comme un prototype expérimental, qui contient des défauts tels que le manque de prise en charge du passage de pointeurs (sauf les chaînes) vers la fonction, la nécessité d'exécuter
"gcc -E" pour le prétraitement du code, en enregistrant les fichiers intermédiaires *.so, *.o et *.c dans le répertoire actuel, sans mettre en cache la version convertie et en effectuant des étapes d'analyse inutiles (longs délais à chaque exécution).

Source: opennet.ru

Ajouter un commentaire