Inlinec - nova maniero uzi C-kodon en Python-skriptoj

projekto inlinec Nova metodo por enlinia integriĝo de C-kodo en Python-manuskriptoj estis proponita. C-funkcioj estas difinitaj rekte en la sama Python-koddosiero, elstarigita de la dekoraciisto "@inlinec". La resuma skripto estas ekzekutita kiel estas de la Python-interpretisto kaj analizita per la mekanismo provizita en Python kodekoj, kiu ebligas konekti analizilon por transformi la skripton antaŭ ol analizi ĝin de la interpretisto (kutime la kodekoj-modulo estas uzata por travidebla tekst-transkodado, sed ĝi ankaŭ ebligas al vi arbitre transformi la enhavon de la skripto).

La analizilo estas konektita kiel modulo ("de inlinec import inlinec"), kiu faras la komencan prilaboradon kaj surla-muŝe tradukas la difinojn de C-funkcioj elstarigitaj uzante @inlinec-kotadojn en ctypes-ligojn kaj anstataŭigas la korpon de la C-funkcio per alvoko al ĉi tiuj ligadoj. Post tia transformo, la Python-interpretilo ricevas la ĝustan konvertitan fonttekston de la skripto, en kiu la C-funkcioj estas nomitaj uzante ctipoj. Simila metodo ankaŭ estas uzata en la projekto Pyxl4, kiu permesas vin miksi HTML kaj Python-kodon en unu dosiero.

# kodigo: inlinec
from inlinec import inlinec

@inlinec
def testo():
# inkluzivi
malplena testo () {
printf("Saluton, mondo");
}

La disvolviĝo estas ĝis nun prezentita kiel eksperimenta prototipo, kiu enhavas tiajn mankojn kiel la manko de subteno por pasi montrilojn (krom ŝnuroj) al la funkcio, la bezono funkcii.
"gcc -E" por koda antaŭprilaborado, konservante mezajn *.so, *.o kaj *.c dosierojn en la nuna dosierujo, ne konservante la konvertitan version kaj plenumante nenecesajn analizajn fazojn (longaj prokrastoj ĉiufoje kiam ĝi funkcias).

fonto: opennet.ru

Aldoni komenton