Inlinec — nov način uporabe C-kode v Python skriptih

Projekat inlinec Predlagan je nov način inline integracije C koda v Python skripte. Funkcije v C so neposredno definirane v enem samem datoteki s Python kodo, označene z dekoratorjem "@inlinec". Skupni skript se izvaja takšen, kot je, v interpretatorju spython in se analizira z uporabo mehanizma, ki ga Python zagotavlja. kodekov, који омогућава повезивање парсера за трансформацију скриптa пре његове анализе интерпретатором (обично се модул codecs користи за транспарентну прекодирање текста, али такође дозвољава и произвољне трансформације садржаја скрипта).

Parser se poveže kot modul ("from inlinec import inlinec"), ki izvaja primarno obdelavo in na povsem sprotno prevaja definicije C funkcij, označene z anotacijami @inlinec, v ctypes ovitke in nadomešča telo C funkcij z klicem teh ovitkov. Po tej spremembi interpretator Python prejme že pravilno preoblikovano izvorno besedilo skripta, v katerem so C funkcije klicane s ctypes. Слична метода се такође примењује у пројекту Pyxl4, који омогућава мешање HTML и Python-кода у једном датотеку.

# coding: inlinec
from inlinec import inlinec

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

Развој се тренутно представља као експериментални прототип, у којем се бележе такве недостацима, као што је недостатак подршке за пренос указивача у функцију (осим за низове), неопходност покретања
"gcc -E" za predobdelavo kode, shranjevanje vmesnih *.so, *.o in *.c datotek v trenutni imenik, brez predpomnjenja spremenjenega različica in izvajanja dodatnih faz analize (velike zamude pri vsakem zagonu).

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster