Inlinec - cara anyar kanggo nggunakake kode C ing skrip Python

Proyek inlinec Cara anyar kanggo integrasi inline kode C menyang skrip Python wis diusulake. Fungsi C ditetepake langsung ing file kode Python padha, disorot dening decorator "@inlinec". Skrip ringkesan dieksekusi kaya interpreter Python lan diurai nggunakake mekanisme sing kasedhiya ing Python codecs, kang ndadekake iku bisa kanggo nyambungake parser kanggo ngowahi script sadurunge parsing dening interpreter (minangka aturan, modul codecs digunakake kanggo transcoding teks transparent, nanging uga ngijini sampeyan kanggo sewenang-wenang ngowahi isi script).

Parser disambungake minangka modul ("saka inlinec import inlinec"), sing nindakake pangolahan awal lan on-the-fly nerjemahake definisi fungsi C sing disorot nggunakake anotasi @inlinec dadi ctypes bindings lan ngganti awak fungsi C karo telpon kanggo bindings iki. Sawise transformasi kasebut, juru basa Python nampa teks sumber skrip sing diowahi kanthi bener, ing ngendi fungsi C diarani nggunakake ctypes. Cara sing padha uga digunakake ing proyek kasebut Pyxl4, sing ngidini sampeyan nyampur kode HTML lan Python ing siji file.

# coding: inlinec
saka inlinec ngimpor inlinec

@inlinec
tes def():
#kakup
void test() {
printf("Halo, jagad");
}

Pangembangan kasebut nganti saiki ditampilake minangka prototipe eksperimen, sing ngemot kekurangan kayata kekurangan dhukungan kanggo nglewati pointer (kajaba senar) menyang fungsi kasebut, perlu kanggo mbukak.
"gcc -E" kanggo preprocessing kode, nyimpen penengah * .dadi, *.o lan *.c file ing direktori saiki, ora caching versi diowahi lan Performing orane tumrap sekolah parsing rasah (dawa wektu tundha saben mlaku).

Source: opennet.ru

Add a comment