Inlinec - په Python سکریپټونو کې د C کوډ کارولو نوې لاره

پروژه inlinec د Python سکریپټونو کې د C کوډ انلاین ادغام لپاره یو نوی میتود وړاندیز شوی. د C افعال په مستقیم ډول د ورته Python کوډ فایل کې تعریف شوي، د "@inlinec" ډیزاینر لخوا روښانه شوي. لنډیز سکریپټ لکه څنګه چې د Python ژباړونکي لخوا اجرا کیږي او په Python کې چمتو شوي میکانیزم په کارولو سره تجزیه کیږي کوډیکس، کوم چې دا ممکنه کوي چې د ژباړونکي لخوا د پارس کولو دمخه د سکریپټ بدلولو لپاره پارسر سره وصل کړئ (د یوې قاعدې په توګه ، د کوډیکس ماډل د متن شفاف ټرانسکوډینګ لپاره کارول کیږي ، مګر دا تاسو ته اجازه درکوي په خپله خوښه د سکریپټ مینځپانګې بدل کړئ).

پارسر د ماډل په توګه وصل دی ("د انلاینیک وارداتو inlinec" څخه)، کوم چې ابتدايي پروسس ترسره کوي او په الوتنه کې د C فنکشن تعریفونه ژباړي چې د @inlinec تشریحاتو په کارولو سره روښانه شوي د ctypes bindings او د C فنکشن بدن بدلوي. دې بندیزونو ته زنګ ووهئ. د داسې بدلون وروسته، د Python ژباړونکی د سکریپټ سم بدل شوی سرچینه متن ترلاسه کوي، په کوم کې چې د C افعال کارول کیږي. ډولونه. ورته میتود هم په پروژه کې کارول کیږي Pyxl4، کوم چې تاسو ته اجازه درکوي په یوه فایل کې د HTML او Python کوډ مخلوط کړئ.

# کوډ کول: inlinec
د انلاینیک وارداتو څخه inlinec

@inlinec
def test():
#شاملول
باطل ازموینه() {
printf("سلام، نړۍ")؛
}

پرمختګ تر دې دمه د تجربوي پروټوټایپ په توګه وړاندې شوی ، کوم چې داسې نیمګړتیاوې لري لکه فنکشن ته د پوائنټرونو تیریدو لپاره د ملاتړ نشتوالی (پرته له تارونو) ، د چلولو اړتیا
"gcc -E" د کوډ پری پروسس کولو لپاره، په اوسني ډایرکټر کې منځګړی *.so، *.o او *.c فایلونو خوندي کول، د بدل شوي نسخه کیچ نه کول او د غیر ضروري تحلیل مرحلې ترسره کول (اوږده ځنډ هرکله چې دا چلیږي).

سرچینه: opennet.ru

Add a comment