Inlinec - sabuwar hanyar amfani da lambar C a cikin rubutun Python

Aikin inlinec Sabuwar hanya don haɗa layin C code cikin rubutun Python an gabatar da shawarar. Ana bayyana ayyukan C kai tsaye a cikin fayil ɗin lambar Python iri ɗaya, wanda mai yin ado na “@inlinec” ya haskaka. Ana aiwatar da rubutun taƙaitawa kamar yadda mai fassara Python ke aiwatar da shi kuma ana sarrafa shi ta amfani da tsarin da aka bayar a Python codecs, wanda ya sa ya yiwu a haɗa wani parser don canza rubutun kafin yin nazarin shi ta mai fassarar (a matsayin mai mulki, ana amfani da codecs module don fassarar rubutu na gaskiya, amma kuma yana ba ku damar canza abubuwan da ke cikin rubutun ba da gangan ba).

An haɗa parser a matsayin module ("daga inlinec shigo da inlinec"), wanda ke aiwatar da aikin farko kuma akan-tashi yana fassara ma'anar ayyukan C da aka haskaka ta amfani da bayanan @inlinec a cikin ctypes bindings kuma ya maye gurbin jikin aikin C tare da kira zuwa ga waɗannan ɗaurin. Bayan irin wannan canji, mai fassara Python yana karɓar daidaitaccen rubutun tushen rubutun, wanda ake kiran ayyukan C ta amfani da shi. ctypes. Hakanan ana amfani da irin wannan hanyar a cikin aikin Pyxl4, wanda ke ba ka damar haɗa lambar HTML da Python a cikin fayil ɗaya.

# codeing: inlinec
daga inlinec shigo da inlinec

@inlinec
def test():
#hadawa
gwajin banza () {
printf ("Hello, duniya");
}

An gabatar da ci gaban zuwa yanzu a matsayin samfurin gwaji, wanda ya ƙunshi irin wannan gazawar kamar rashin goyon baya ga masu nuni (sai dai igiyoyi) zuwa aikin, buƙatar gudu.
"gcc -E" don ƙaddamar da lambar, adana matsakaici * .so, * .o da * .c fayiloli a cikin kundin adireshi na yanzu, ba caching sigar da aka canza ba da aiwatar da matakan da ba dole ba (tsawon jinkiri duk lokacin da yake gudana).

source: budenet.ru

Add a comment