Inlinec — une nouvelle méthode d'utilisation du code C dans les scripts Python

Projet inlinec propose une nouvelle méthode d'intégration inline du code écrit en C dans des scripts Python. Les fonctions en C sont définies directement dans un même fichier que le code Python, mises en évidence par le décorateur « @inlinec ». Le script complet est exécuté tel quel par l'interpréteur spython et analysé à l'aide du mécanisme fourni par Python. codecs, permettant de connecter un parseur pour transformer le script avant son analyse par l'interpréteur (généralement, le module codecs est utilisé pour une recodage transparent du texte, mais permet également de transformer le contenu du script de manière arbitraire).

Le parseur est connecté sous forme de module (« from inlinec import inlinec »), qui effectue un traitement préliminaire et traduit à la volée les définitions des fonctions C, mises en évidence par des annotations @inlinec, en wrappers ctypes et remplace le corps de la fonction C par un appel à ces wrappers. Après cette transformation, l'interpréteur Python reçoit déjà le texte source transformé correct du script, dans lequel les fonctions C sont appelées à l'aide de ctypes. Une méthode similaire est également appliquée dans le projet Pyxl4, qui permet de mélanger du code HTML et Python dans un même fichier.

# coding: inlinec
from inlinec import inlinec

@inlinec
def test():
#include<stdio.h>
void test() {
printf("Hello, world");
}

Le développement est présenté comme un prototype expérimental, dans lequel des lacunes sont notées, telles que l'absence de support pour le passage de pointeurs à la fonction (à l'exception des chaînes), la nécessité d'exécuter « gcc -E » pour le prétraitement du code, la sauvegarde des fichiers intermédiaires *.so, *.o et *.c dans le répertoire actuel, l'absence de mise en cache de la version transformée et l'exécution d'étapes d'analyse superflues (retards importants à chaque exécution).
Pour le Raspberry Pi 4, la prise en charge d'OpenGL ES 3.1 est certifiée et un nouveau pilote Vulkan est en développement.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster