Inlinec - cara anyar pikeun ngagunakeun kode C dina skrip Python

proyék inlinec Metodeu anyar pikeun integrasi inline kode C kana skrip Python parantos diajukeun. fungsi C diartikeun langsung dina file kode Python sarua, disorot ku decorator "@inlinec". Skrip kasimpulan dieksekusi sakumaha anu ku juru Python sareng diurai nganggo mékanisme anu disayogikeun dina Python codecs, nu ngamungkinkeun pikeun nyambungkeun parser pikeun transformasi naskah saméméh parsing eta ku juru (sakumaha aturan, modul codecs dipaké pikeun transcoding téks transparan, tapi ogé ngidinan Anjeun pikeun wenang ngarobah eusi naskah).

Parser disambungkeun salaku modul ("tina inlinec import inlinec"), anu ngalaksanakeun pamrosésan awal sareng on-the-fly narjamahkeun definisi fungsi C anu disorot nganggo annotations @inlinec kana ctypes bindings sareng ngagentos awak fungsi C ku panggero pikeun bindings ieu. Saatos transformasi sapertos kitu, juru Python nampi téks sumber naskah anu dirobih anu leres, dimana fungsi C disebut nganggo ctypes. Métode anu sami ogé dianggo dina proyék Pyxl4, anu ngamungkinkeun anjeun nyampur kode HTML sareng Python dina hiji file.

# coding: inlinec
ti inlinec impor inlinec

@inlinec
uji def():
#lebetkeun
void test() {
printf("Halo, dunya");
}

Pangwangunan sajauh ieu disayogikeun salaku prototipe ékspérimén, anu ngandung kakurangan sapertos kurangna pangrojong pikeun ngirimkeun petunjuk (iwal string) kana fungsina, kabutuhan pikeun ngajalankeun.
"gcc -E" pikeun kode preprocessing, nyimpen panengah * .jadi, * .o jeung * .c file dina diréktori ayeuna, teu cache versi dirobah sarta ngajalankeun tahapan parsing teu perlu (nepi lila unggal waktu eta dijalankeun).

sumber: opennet.ru

Tambahkeun komentar