Inlinec — jauns veids, kā izmantot C valodas kodu Python skriptos

Projekts inlinec ir piedāvāts jauns veids, kā inlinē integrēt C valodas kodu Python skriptos. C valodas funkcijas tiek definētas tieÅ”i vienā failā ar Python kodu, izceļot ar dekoratoru Ā«@inlinecĀ». Apvienotais skripts tiek izpildÄ«ts tieÅ”i interpretrÄ« spython un tiek analizēts, izmantojot Python nodroÅ”ināto mehānismu kodekos, kas ļauj pievienot parseri, lai pārveidotu skriptu pirms tā analÄ«zes interpretrÄ« (parasti tiek izmantots codecs modulis, kas nodroÅ”ina caurspÄ«dÄ«gu teksta pārkodēŔanu, bet ļauj arÄ« brÄ«vi transformēt skripta saturu).

Parseris tiek pievienots kā modulis (Ā«from inlinec import inlinecĀ»), kas veic sākotnējo apstrādi un reālajā laikā pārvērÅ” @inlinec anotācijām izceltos C funkciju definÄ«cijas ctypes apvalkos un aizvieto C funkcijas Ä·ermeni ar Å”o apvalku izsaukumiem. Pēc tam, kad veiktas Ŕādas izmaiņas, Python interpretrÄ« saņem pareizu pārveidoto skripta avotekstu, kurā C funkcijas tiek izsauktas ar ctypes. LÄ«dzÄ«gs paņēmiens tiek izmantots projektā Pyxl4, kas ļauj sajaukt HTML un Python kodu vienā failā.

# coding: inlinec
from inlinec import inlinec

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

Izstrāde joprojām tiek piedāvāta kā eksperimentāls prototips, kurā ir novērotas tādas nepilnÄ«bas kā atbalsta trÅ«kums rādÄ«tāju nodoÅ”anai funkcijai (izņemot virknes), nepiecieÅ”amÄ«ba palaist
Ā«gcc -EĀ» kodu priekÅ”apstrādei, saglabājot starpposma *.so, *.o un *.c failus paÅ”reizējā direktorijā, pārvērsto variantu keÅ”oÅ”anas trÅ«kums un lieku analÄ«zes posmu izpilde (lieli aizkavējumi katrā palaiÅ”anā).

Avots: opennet.lv

Iegādājieties uzticamu tÄ«mekļa hostingu ar DDoS aizsardzÄ«bu, VPS VDS serveriem šŸ”„ Iegādājieties uzticamu tÄ«mekļa hostingu ar DDoS aizsardzÄ«bu, VPS VDS serveriem | ProHoster