hanke Uusi menetelmä C-koodin integroimiseksi Python-skripteihin on ehdotettu. C-funktiot määritellään suoraan samassa Python-kooditiedostossa, korostettuna @inlinec-koristeella. Python-tulkki suorittaa yhteenvetokomentosarjan ja jäsennetään Pythonin tarjoamalla mekanismilla , joka mahdollistaa jäsentimen yhdistämisen skriptin muuntamiseksi ennen kuin tulkki jäsentää sen (pääsääntöisesti koodekkimoduulia käytetään läpinäkyvään tekstin transkoodaukseen, mutta sen avulla voit myös muuttaa komentosarjan sisältöä mielivaltaisesti).
Jäsenin on kytketty moduulina ("inlinec-tuonti inlinecistä"), joka suorittaa alkukäsittelyn ja kääntää lennossa @inlinec-merkinnöillä korostetut C-funktioiden määritelmät ctypes-sidoksiksi ja korvaa C-funktion rungon kutsu näihin siteisiin. Tällaisen muunnoksen jälkeen Python-tulkki vastaanottaa skriptin oikean muunnetun lähdetekstin, jossa C-funktioita kutsutaan käyttämällä . Vastaavaa menetelmää käytetään myös projektissa , jonka avulla voit sekoittaa HTML- ja Python-koodia yhdessä tiedostossa.
# koodaus: inlinec
inlinecistä tuonti inlinec
@inlinec
def testi():
#sisältää
void testi() {
printf("Hei, maailma");
}
Kehitys on toistaiseksi esitetty kokeellisena prototyyppinä, jossa on puutteita, kuten tuen puute osoittimien (paitsi merkkijonojen) välittämiselle funktioon, tarve ajaa.
"gcc -E" koodin esikäsittelyä varten, välimuotoisten *.so-, *.o- ja *.c-tiedostojen tallentaminen nykyiseen hakemistoon, muunnetun version välimuistiin tallentamatta ja tarpeettomien jäsennysvaiheiden suorittamiseen (pitkät viiveet joka kerta kun se suoritetaan).
Lähde: opennet.ru
