Inlinec — eine neue Möglichkeit, C-Code in Python-Skripten zu verwenden

Projekt inlinec bietet eine neue Methode zur Inline-Integration von C-Code in Python-Skripte. Die C-Funktionen werden direkt in einer Datei mit dem Python-Code definiert und mit dem Dekorator „@inlinec“ hervorgehoben. Das gemeinsame Skript wird als solches vom Interpreter spython ausgefĂŒhrt und mithilfe des in Python bereitgestellten Mechanismus analysiert. der Codecs, der die Möglichkeit bietet, einen Parser hinzuzufĂŒgen, um das Skript vor seiner Analyse durch den Interpreter zu transformieren (gewöhnlich wird das Modul codecs fĂŒr eine transparente Textumwandlung verwendet, es erlaubt jedoch auch beliebige Transformationen des Inhalts des Skripts).

Der Parser wird als Modul integriert („from inlinec import inlinec“), das die erste Verarbeitung durchfĂŒhrt und zur Laufzeit die C-Funktionsdefinitionen, gekennzeichnet durch die Annotationen @inlinec, in ctypes-Bindings umwandelt und den C-Funktionskörper durch einen Aufruf dieser Bindings ersetzt. Nach dieser Umwandlung erhĂ€lt der Python-Interpreter bereits den korrekt transformierten Quelltext des Skripts, in dem die C-Funktionen durch ctypesaufgerufen werden. Eine Ă€hnliche Methode wird auch im Projekt Pyxl4verwendet, das es ermöglicht, HTML- und Python-Code in einer Datei zu vermischen.

# coding: inlinec
von inlinec import inlinec

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

Die Entwicklung wird bisher als experimenteller Prototyp prĂ€sentiert, bei dem solche MĂ€ngel festzustellen sind, wie das Fehlen der UnterstĂŒtzung fĂŒr die Übergabe von Zeigern an Funktionen (außer fĂŒr Strings), die Notwendigkeit, "gcc -E" fĂŒr die PrĂ€prozessierung des Codes auszufĂŒhren, die Speicherung von Zwischen-* .so, *.o und *.c-Dateien im aktuellen Verzeichnis, das Fehlen von Caching des umgewandelten Formats und die AusfĂŒhrung unnötiger Parsing-Stufen (große Verzögerungen bei jedem Start).
Das Projekt inlinec schlĂ€gt einen neuen Ansatz zur Inline-Integration von C-Code in Python-Skripte vor. C-Funktionen werden direkt in einer Datei mit Python-Code definiert und durch den Dekorator "@inlinec" hervorgehoben. Das aggregierte Skript wird unverĂ€ndert vom Interpreter spython ausgefĂŒhrt und mit dem in Python bereitgestellten Codec-Mechanismus geparst, was die Anbindung eines Parsers zur Umwandlung des Skripts ermöglicht.

Quelle: opennet.ru

Erwerben Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server đŸ”„ Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster