Inlinec - dòigh ùr air còd C a chleachdadh ann an sgriobtaichean Python

pròiseict inlinec Thathas air dòigh ùr a mholadh airson còd C a thoirt a-steach do sgriobtaichean Python. Tha gnìomhan C air am mìneachadh gu dìreach anns an aon fhaidhle còd Python, air a chomharrachadh leis an neach-sgeadachaidh “@inlinec”. Tha an sgriobt geàrr-chunntas air a chuir gu bàs mar a tha leis an eadar-theangair Python agus air a pharsadh a’ cleachdadh an uidheamachd a tha air a thoirt seachad ann am Python codecs, a tha ga dhèanamh comasach parser a cheangal gus an sgriobt atharrachadh mus parsadh e leis an eadar-theangair (mar riaghailt, tha am modal codecs air a chleachdadh airson transcoding teacsa follaiseach, ach leigidh e leat cuideachd susbaint an sgriobt atharrachadh gu neo-riaghailteach).

Tha am parser ceangailte mar mhodal (“bho inlinec import inlinec”), a bhios a’ coileanadh a’ chiad ghiollachd agus air-the-fly ag eadar-theangachadh na mìneachaidhean air gnìomhan C a chaidh a chomharrachadh le bhith a’ cleachdadh @inlinec notaichean gu ceanglachan ctypes agus a’ dol an àite corp gnìomh C le gairm do na ceanglachan so. Às deidh a leithid de chruth-atharrachadh, gheibh an t-eadar-theangair Python an teacsa stòr tionndaidh ceart den sgriobt, anns a bheil na gnìomhan C air an ainmeachadh a’ cleachdadh ctypes. Tha dòigh coltach ris air a chleachdadh sa phròiseact cuideachd Pioc 4, a leigeas leat còd HTML agus Python a mheasgachadh ann an aon fhaidhle.

# còdadh: inlinec
bho inlinec import inlinec

@inlinec
deuchainn def():
#include
deuchainn falamh () {
printf ("Hello, an t-saoghail");
}

Tha an leasachadh gu ruige seo air a thaisbeanadh mar prototype deuchainneach, anns a bheil easbhaidhean leithid dìth taic airson comharran a dhol seachad (ach a-mhàin sreangan) don ghnìomh, an fheum air ruith.
“gcc -E” airson ro-ghiollachd còd, a’ sàbhaladh faidhlichean eadar-mheadhanach *.so, *.o agus *.c san eòlaire gnàthach, gun a bhith a’ tasgadh an dreach a chaidh a thionndadh agus a’ coileanadh ìrean parsaidh neo-riatanach (dàil fhada gach uair a ruitheas e).

Source: fosgailtenet.ru

Cuir beachd ann