Inlinec - Python scripts များတွင် C ကုဒ်ကို အသုံးပြုရန် နည်းလမ်းသစ်

ပရောဂျက် inlinec C ကုဒ်ကို Python script များအတွင်းသို့ inline ပေါင်းစည်းရန်အတွက် နည်းလမ်းအသစ်တစ်ခုကို အဆိုပြုထားပါသည်။ C လုပ်ဆောင်ချက်များကို “@inlinec” အလှဆင်သူမှ မီးမောင်းထိုးပြထားသည့် တူညီသော Python ကုဒ်ဖိုင်တွင် တိုက်ရိုက်သတ်မှတ်ထားသည်။ အကျဉ်းချုပ် script ကို Python ဘာသာပြန်မှ လုပ်ဆောင်သည် နှင့် Python တွင် ပေးထားသည့် ယန္တရားကို အသုံးပြု၍ ပိုင်းခြားထားသည် codecsစကားပြန်ဖြင့် ခွဲခြမ်းစိတ်ဖြာခြင်းမပြုမီ ဇာတ်ညွှန်းကို ခွဲခြမ်းစိတ်ဖြာမှုအသွင်ပြောင်းရန် parser တစ်ခုအား ချိတ်ဆက်နိုင်စေသည် (စည်းကမ်းအနေဖြင့်၊ codecs module ကို ပွင့်လင်းမြင်သာသော စာသားပြောင်းခြင်းအတွက် အသုံးပြုသော်လည်း၊ ၎င်းသည် script ၏ အကြောင်းအရာများကို ထင်သလို အသွင်ပြောင်းနိုင်စေသည်)။

parser သည် မော်ဂျူးတစ်ခုအဖြစ် ချိတ်ဆက်ထားသည် (“inlinec import inlinec”) သည် ကနဦးလုပ်ဆောင်မှုကို လုပ်ဆောင်ပြီး @inlinec မှတ်ချက်များကို အသုံးပြု၍ မီးမောင်းထိုးပြထားသည့် C လုပ်ဆောင်ချက်များ၏ အဓိပ္ပါယ်ဖွင့်ဆိုချက်များကို ctypes bindings များအဖြစ် ctypes bindings များအဖြစ် အစားထိုးပြီး C လုပ်ဆောင်ချက်၏ကိုယ်ထည်ကို အစားထိုးပေးပါသည်။ ဤအနှောင်အဖွဲ့ကိုခေါ်ပါ။ ထိုသို့သောအသွင်ပြောင်းပြီးနောက်၊ Python စကားပြန်သည် C လုပ်ဆောင်ချက်များကို အသုံးပြု၍ ခေါ်ဝေါ်သည့် script ၏မှန်ကန်သောပြောင်းထားသောအရင်းအမြစ်စာသားကိုလက်ခံရရှိသည်၊ ctypes များ. ပရောဂျက်တွင်လည်း အလားတူနည်းလမ်းကို အသုံးပြုပါသည်။ Pyxl4HTML နှင့် Python ကုဒ်တို့ကို ဖိုင်တစ်ခုတွင် ရောနှောနိုင်စေမည့်၊

# coding- inlinec
inlinec မှတင်သွင်းသော inlinec

@inlinec
def test():
#ပါဝင်သည်
ပျက်ပြယ်သောစစ်ဆေးမှု() {
printf("မင်္ဂလာပါ ကမ္ဘာ");
}

ဖွံ့ဖြိုးတိုးတက်မှုကို ယခုအချိန်အထိ စမ်းသပ်မှု နမူနာပုံစံအဖြစ် တင်ပြထားပြီး၊ လုပ်ဆောင်ရန် လိုအပ်သည့် ညွှန်ပြချက်များ (စာကြောင်းများမှလွဲ၍) ဖြတ်သန်းရန် ပံ့ပိုးမှု မရှိခြင်းကြောင့် ချို့ယွင်းချက်များပါရှိသည်။
ကုဒ်ကြိုတင်လုပ်ဆောင်ခြင်းအတွက်၊ အလယ်အလတ် *.so၊ *.o နှင့် *.c ဖိုင်များကို လက်ရှိလမ်းညွှန်တွင် သိမ်းဆည်းခြင်း၊ ပြောင်းလဲထားသောဗားရှင်းကို သိမ်းဆည်းခြင်းနှင့် မလိုအပ်သော ခွဲခြမ်းစိတ်ဖြာခြင်းအဆင့်များကို လုပ်ဆောင်ခြင်းအတွက် "gcc -E" (၎င်းကိုလုပ်ဆောင်သည့်အချိန်တိုင်း ကြာရှည်စွာနှောင့်နှေးမှုများ)။

source: opennet.ru

မှတ်ချက် Add