Microsoft သည် Visual Studio တွင်ပါဝင်သော C++ စံစာကြည့်တိုက်ကို open source ပေးခဲ့သည်။

ယနေ့ကျင်းပနေသော CppCon 2019 ကွန်ဖရင့်တွင် Microsoft ကြေငြာခဲ့သည် MSVC toolkit နှင့် Visual Studio ဖွံ့ဖြိုးတိုးတက်မှုပတ်ဝန်းကျင်၏ တစ်စိတ်တစ်ပိုင်းဖြစ်သည့် C++ Standard Library (STL, C++ Standard Library) ၏ အကောင်အထည်ဖော်မှုဆိုင်ရာ ကုဒ်ကို ဖွင့်ခြင်းအကြောင်း။ စာကြည့်တိုက်သည် လက်ရှိ C++14 နှင့် C++17 စံနှုန်းများတွင် ဖော်ပြထားသည့် စွမ်းဆောင်ရည်များကို အကောင်အထည်ဖော်ပြီး လက်ရှိလုပ်ဆောင်နေသော မူကြမ်းတွင် အပြောင်းအလဲများနှင့်အတူ အနာဂတ် C++20 စံနှုန်းများအတွက် ပံ့ပိုးကူညီမှုဆီသို့ ဦးတည်နေပါသည်။ ကုဒ် ပွင့်လင်း Apache 2.0 လိုင်စင်အောက်တွင် ထုတ်ပေးထားသော executable files များတွင် runtime libraries များပါဝင်ခြင်းပြဿနာကိုဖြေရှင်းနိုင်သော binary ဖိုင်များအတွက်ခြွင်းချက်။

အနာဂတ်တွင် ဤစာကြည့်တိုက်၏ ဖွံ့ဖြိုးတိုးတက်မှုကို GitHub တွင် တီထွင်ထားသည့် အဖွင့်ပရောဂျက်တစ်ခုအဖြစ် လုပ်ဆောင်ရန် စီစဉ်ထားပြီး ပြုပြင်မှုများနှင့်အတူ ပြင်ပဆော့ဖ်ဝဲရေးသားသူများထံမှ ဆွဲယူထားသော တောင်းဆိုချက်များကို လက်ခံခြင်းနှင့် အင်္ဂါရပ်အသစ်များကို အကောင်အထည်ဖော်ခြင်း (ဖွံ့ဖြိုးတိုးတက်မှုတွင် ပါဝင်ဆောင်ရွက်ခြင်းသည် လွှဲပြောင်းခြင်းဆိုင်ရာ CLA သဘောတူညီချက်ကို လက်မှတ်ရေးထိုးရန် လိုအပ်ပါသည်။ လွှဲပြောင်းကုဒ်သို့ ပိုင်ဆိုင်မှုအခွင့်အရေးများ)။ STL ဖွံ့ဖြိုးတိုးတက်မှုကို GitHub သို့ လွှဲပြောင်းခြင်းသည် Microsoft ဖောက်သည်များ၏ ဖွံ့ဖြိုးတိုးတက်မှု တိုးတက်မှုကို ခြေရာခံရန်၊ နောက်ဆုံးပေါ် အပြောင်းအလဲများကို စမ်းသပ်ပြီး ဆန်းသစ်တီထွင်မှုများ ပေါင်းထည့်ရန်အတွက် ဝင်လာသော တောင်းဆိုချက်များကို ပြန်လည်သုံးသပ်ရာတွင် ကူညီပေးမည်ဖြစ်ကြောင်း မှတ်သားရပါသည်။

Open source သည် အခြားပရောဂျက်များတွင် စံနှုန်းအသစ်များမှ အဆင်သင့်ဖြစ်ထားသော ဝန်ဆောင်မှုများကို အသုံးပြုရန်အတွက်လည်း အသိုင်းအဝိုင်းအား ခွင့်ပြုမည်ဖြစ်သည်။ ဥပမာအားဖြင့်၊ ကုဒ်လိုင်စင်ကို စာကြည့်တိုက်နှင့် ကုဒ်မျှဝေနိုင်မှုကို ပေးဆောင်ရန် ရွေးချယ်ထားသည်။ libc++ LLVM ပရောဂျက်မှ STL နှင့် libc++ တို့သည် ဒေတာဖွဲ့စည်းပုံများ၏ အတွင်းပိုင်းကိုယ်စားပြုမှုတွင် ကွဲပြားသော်လည်း ဆန္ဒရှိပါက libc++ ဆော့ဖ်ဝဲရေးသားသူများသည် STL (ဥပမာ၊ charconv) ထံမှ စိတ်ဝင်စားဖွယ်လုပ်ဆောင်နိုင်စွမ်းကို ပေးပို့နိုင်သည် သို့မဟုတ် ပရောဂျက်နှစ်ခုစလုံးသည် ဆန်းသစ်တီထွင်မှုအချို့ကို ပူးတွဲလုပ်ဆောင်နိုင်သည်။ Apache လိုင်စင်တွင် ထည့်သွင်းထားသော ခြွင်းချက်များသည် သုံးစွဲသူများထံ STL နှင့် စုစည်းထားသော binaries များ ပေးပို့သည့်အခါ မူရင်းထုတ်ကုန်အသုံးပြုမှုကို ကိုးကားရန် လိုအပ်ချက်ကို ဖယ်ရှားပါသည်။

ပရောဂျက်၏ အဓိကပန်းတိုင်များတွင် သတ်မှတ်ချက်သတ်မှတ်ချက်များနှင့် ကိုက်ညီမှုရှိစေရန်၊ မြင့်မားသောစွမ်းဆောင်ရည်၊ အသုံးပြုရလွယ်ကူမှု (အမှားရှာပြင်ကိရိယာများ၊ အမှားရှာဖွေခြင်းများ၊ အမှားရှာဖွေခြင်း) နှင့် အရင်းအမြစ်ကုဒ်အဆင့်တွင် လိုက်ဖက်ညီမှုရှိစေရန်နှင့် Visual Studio 2015/2017 ၏ ယခင်ထွက်ရှိထားသော ABI တို့ ပါဝင်ပါသည်။ Microsoft က တီထွင်ဖန်တီးရန် စိတ်မဝင်စားသည့် နယ်ပယ်များထဲတွင် အခြားသော ပလပ်ဖောင်းများသို့ ပို့ခြင်းနှင့် စံမဟုတ်သော extension များကို ထည့်သွင်းခြင်း ဖြစ်သည်။

source: opennet.ru

မှတ်ချက် Add