Inlinec — nový způsob použití C-kódu v Python skriptech

Projekt inlinec byl navržen nový způsob inline-integrace kódu v jazyce C do skriptů v Pythonu. Funkce v jazyce C jsou definovány přímo v jednom souboru s kódem v Pythonu, vyznačujícími se dekorátorem „@inlinec“. Souhrnný skript je prováděn tak, jak je, interpretem spython a je analyzován pomocí poskytnutého mechanismu v Pythonu. kodeky, který umožňuje připojit parser pro transformaci skriptu před jeho analýzou interpretem (obvykle se používá modul codecs pro průhlednou překódování textu, ale umožňuje také libovolně transformovat obsah skriptu).

Parser se připojuje jako modul („from inlinec import inlinec“), který provádí primární zpracování a za běhu převádí definice C-funkcí vyznačených pomocí anotací @inlinec na ctypes-obálky a nahrazuje tělo C-funkce voláním těchto obálek. Po takové transformaci dostává Python interpreter již správný transformovaný zdrojový text skriptu, ve kterém jsou funkce C volány pomocí ctypes. Podobná metoda je také aplikována v projektu Pyxl4, který umožňuje míchat HTML a Python kód v jednom souboru.

# coding: inlinec
from inlinec import inlinec

@inlinec
def test():
#include<stdio.h>
void test() {
printf(„Ahoj, světe“);
}

Vývoj je zatím prezentován jako experimentální prototyp, ve kterém jsou zaznamenány takové nedostatky, jako je absence podpory přenosu ukazatelů do funkce (kromě řetězců), nutnost spuštění
„gcc -E“ pro preprocesing kódu, ukládání mezičinných *.so, *.o a *.c souborů v aktuálním adresáři, absence cachování transformovaného variantu a provádění zbytečných fází analýzy (velká zpoždění při každém spuštění).

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster