GCC 11.1 ကိုဖြန့်ချိပြီးဖြစ်သည်။ ၎င်းသည်၎င်း၏အရေးအကြီးဆုံးသတင်းနှင့်ပြောင်းလဲမှုများဖြစ်သည်

တစ်နှစ်ဖွံ့ဖြိုးတိုးတက်ပြီးနောက် ဖြန့်ချိ GCC 11.1 compiler suite ကိုအသစ်ဗားရှင်းအသစ် GCC 11.x ဌာနခွဲအတွက်ပထမ ဦး ဆုံးသိသိသာသာဖြန့်ချိ။ ဗားရှင်းနံပါတ်အစီအစဉ်အသစ်အရ၊ ဗားရှင်း 11.0 ကိုဖွံ့ဖြိုးဆဲကာလတွင်အသုံးပြုခဲ့သည်။ GCC 11.1 မထွက်မီလေးတွင် GCC 12.0 ၏ဌာနခွဲသည် GCC 12.1 ၏နောက်အဓိကဗားရှင်းကိုဖွဲ့စည်းရန်ချိတ်ဆွဲထားသည်။

GCC 11.1 သည်ပုံမှန် debug file format DWARF 5 သို့ကူးပြောင်းခြင်းကိုထင်ရှားစေသည်၊ C ++ 17 စံ၏စံသတ်မှတ်ချက် ("-std = gnu ++ 17")၊ C ++ 20 စံနှင့်သဟဇာတဖြစ်မှုသိသိသာသာတိုးတက်မှုများ၊ C ++ 23 အတွက်စမ်းသပ်မှုအထောက်အပံ့၊ အနာဂတ်စံနှင့်ဆက်နွယ်သောတိုးတက်မှုများ C ဘာသာစကား (C2x)၊ စွမ်းဆောင်ရည်အသစ်များ။

GCC 11.1 အဓိကအသစ်အင်္ဂါရပ်များ

C ++ language အတွက် default mode ကို C ++ 17 standard ကိုအသုံးပြုရန်ပြောင်းထားသည်အစားယခင်ကအဆိုပြုထား C ++ 14 ၏။ အခြားတင်းပလိတ်များကို parameter (ဥပမာ -fno-new-ttp-cocog) အဖြစ်အသုံးပြုသည့်အခါ C ++ 17 အပြုအမူအသစ်ကို ရွေးချယ်၍ disable လုပ်နိုင်သည်။

ဟာ့ဒ်ဝဲအရှိန်များအတွက်ထောက်ခံမှုကဆက်ပြောသည် သင်လွတ်မြောက်ထားသောမှတ်ဉာဏ်နယ်မြေများကို ၀ င်ရောက်ခြင်း၊ ခွဲဝေသတ်မှတ်ထားသည့်ကြားခံ၏ကန့်သတ်ချက်များနှင့်မှတ်ဉာဏ်နှင့်အလုပ်လုပ်စဉ်အခြားအမှားအယွင်းများကိုလေ့လာခြင်းအားဖြင့်သင့်ကိုဆုံးဖြတ်ရန်ခွင့်ပြုသည့် AddressSanitizer tool ၏။ ဟာ့ဒ်ဝဲအရှိန်အဟုန်ကိုလက်ရှိ AArch64 ဗိသုကာအတွက်သာရရှိနိုင်ပြီး Linux kernel ကိုပြုစုသည့်အခါသူအသုံးပြုရန်အာရုံစိုက်သည်။

တင်ပြကြောင်းနောက်ထပ်အသစ်အဆန်းဖြစ်ကြသည် IPA-modref pass အသစ်ကိုထည့်သွင်းစဉ်တွင်လုပ်ထုံးလုပ်နည်းများအကြားတိုးတက်မှုနှင့်တိုးတက်မှုများကိုထည့်သွင်းခဲ့သည် (-fipa-modref) function ခေါ်ဆိုမှုများတွင်ဘေးထွက်ဆိုးကျိုးများကိုခြေရာခံရန်နှင့်ခွဲခြမ်းစိတ်ဖြာမှုတိကျမှုတိုးတက်စေရန်။ အပြင်တစ် ဦး အပြင် IPA-ICF pass ကိုပိုမိုကောင်းမွန်စွာအကောင်အထည်ဖော်နိုင်ခြင်း (-fipa-icf) သည်မှတ်ဉာဏ်သုံးစွဲမှုကိုလျော့ကျစေပြီးတူညီသောကုဒ်နံပါတ်များကိုပေါင်းစည်းထားသည့်စုစည်းထားသောလုပ်ဆောင်မှုအရေအတွက်ကိုတိုးစေသည်။

El ပရိုဖိုင်းကို - မောင်းနှင် optimization အင်ဂျင် (PGO)၊ တိုးတက်လာသော "-fprofile- တန်ဖိုးများ" mode ကို သွယ်ဝိုက်ဖုန်းခေါ်ဆိုမှုများအတွက် parameters တွေကိုခြေရာခံစောင့်ရှောက်ခြင်းအားဖြင့်။

လည်း OpenMP 5.0 စံ၏ဆက်လက်အကောင်အထည်ဖော်မှုကိုမီးမောင်းထိုးပြသည် (Open Multi-Processing) ကိုဖွင့်ပါ assignment ညွှန်ကြားချက်နှင့်ယူနီဖောင်းမပါသည့်ကွင်းဆက်များကိုအသုံးပြုရန်အတွက်ကန ဦး အထောက်အပံ့ကိုထည့်သွင်းခဲ့သည် OpenMP ထဲမှာတည်ဆောက်။ OMP_TARGET_OFFLOAD ပတ် ၀ န်းကျင်ပြောင်းလဲမှုကိုယခုထောက်ခံသည်။

OpenACC 2.6 ၏အပြိုင်ပရိုဂရမ်းမင်းသတ်မှတ်ချက်ကို C, C ++ နှင့် Fortran ဘာသာရပ်များအတွက် GPUs နှင့် NVIDIA PTX ကဲ့သို့သောအထူးပြုပရိုဆက်ဆာများသို့လည်ပတ်ရန်အတွက်ကိရိယာများကိုသတ်မှတ်ထားသော Fortran ဘာသာရပ်များအားအကောင်အထည်ဖော်မှုသည်တိုးတက်ခဲ့သည်။

C မိသားစု၏ဘာသာစကားများအတွက် "no_stack_protector" attribute အသစ်တစ်ခုကိုအကောင်အထည်ဖော်ခဲ့သည်။ stack ကာကွယ်မှုကိုမလုပ်သင့်သောလုပ်ဆောင်မှုများကိုမှတ်သားရန်ဒီဇိုင်းပြုလုပ်ထားသည် ("-fstack-protector") ။ "malloc" attribute ကိုဖြန့်ကျက်ထားသည့်ဖုန်းခေါ်ဆိုမှုအားလုံးအတွက်ခွဲခြားသတ်မှတ်မှုနှင့်မှတ်ဥာဏ်ကိုလွတ်မြောက်စေရန်အထောက်အပံ့ဖြင့်တိုးချဲ့ခဲ့သည်၎င်းသည် static parser တွင်ပုံမှန်မှတ်ဉာဏ်အမှားများ (မှတ်ဥာဏ်ယိုစိမ့်ခြင်း၊ အခမဲ့ပြီးနောက်အသုံးပြုမှု၊ အခမဲ့လုပ်ဆောင်မှုအတွက်နှစ်ဆခေါ်ဆိုခြင်းစသည်) နှင့် compiler ၏သတိပေးချက်များ "-Wmismatched-dealloc", "-Wmismatched- new-delete" နှင့် - ကိုက်ညီမှုမရှိသောခွဲဝေချထားပေးခြင်းနှင့်ခွဲဝေချခြင်းများကိုသတင်းပို့ခြင်း - အခမဲ့ဖြစ်သည်။

debugging အချက်အလက်များကိုထုတ်ယူသောအခါ DWARF 5 အမျိုးအစားကိုမူလအတိုင်းအသုံးပြုသည်။ ၎င်းသည်ယခင်ဗားရှင်းများနှင့်နှိုင်းယှဉ်လျှင် ၂၅% ပိုမိုကျစ်လစ်သိပ်သည်းသောဒေတာများထုတ်လွှတ်မှုကိုခွင့်ပြုသည်။ DWARF 25 အထောက်အပံ့အပြည့်အစုံမှာအနည်းဆုံးဗားရှင်း 5 လိုအပ်သည်။

ပိုမိုကောင်းမွန်သော ThreadSanitizer mode စွမ်းရည်များ (ဟုတ်ကဲ့ကတည်းက -fsanitize = ချည်)အီးသည်အခြားရွေးချယ်စရာ runtime နှင့် environment များအတွက်အထောက်အပံ့ကိုထပ်ဖြည့်သည်။ Linux kernel အတွင်းရှိပြိုင်ပွဲအခြေအနေများကိုပုံမှန်အားဖြင့်သိရှိနိုင်ရန် Kernel Concurrency Sanitizer (KCSAN) debugging tool ကိုထောက်ပံ့သည်။ “ –param tsan-distinguish-volatile” နှင့်“ -param tsan-instrument-func-entry-exit” option အသစ်များကိုထပ်မံထည့်သွင်းထားသည်။

vectorizer သည်လုပ်ဆောင်ချက်အားလုံး၏အကြောင်းအရာများနှင့်ထိန်းချုပ်မှုစီးဆင်းမှုဇယား (CFG) ရှိယခင်လုပ်ကွက်များနှင့်လမ်းဆုံများနှင့်ရည်ညွှန်းချက်များနှင့်ဆက်စပ်သောစွမ်းရည်များကိုထပ်မံလုပ်ဆောင်ခြင်းကိုစာရင်းပေးသည်။

အဆိုပါ optimizer အတူတူပင် variable ကိုနှိုင်းယှဉ်သောတစ် ဦး ပြောင်းလဲမှုစကားရပ်သို့ခြွင်းချက်စစ်ဆင်ရေး၏စီးရီးပြောင်းလဲနိုင်စွမ်းရှိပါတယ်။ နောင်တွင်အပြောင်းအလဲကိုဖော်ပြသည့် bit test လမ်းညွှန်ချက်များ (encoding) ကို encode လုပ်နိုင်သည်။ (ဒီပြောင်းလဲမှုကိုထိန်းချုပ်ရန် "-fbit-tests" option ကိုထည့်ပြီးဖြစ်သည်)

C ++ အတွက် C ++ 20 စံတွင်အဆိုပြုထားသောပြောင်းလဲမှုများနှင့်ဆန်းသစ်တီထွင်မှုများ၏အစိတ်အပိုင်းတစ်ခုဖြစ်တဲ့ "consteval virtual", virtual object များ၊ သက်ရှိများသံသရာကိုအဆုံးသတ်ရန်၊ enum class ကို အသုံးပြု၍ တွက်ချက်ခြင်းစသည်တို့အပါအ ၀ င်ဖြစ်သည်။ "new" ဆိုတဲ့အသုံးအနှုန်းမှာ array တစ်ခုရဲ့အရွယ်အစား။

သင်ကအကြောင်းပိုမိုသိလိုလျှင်အသေးစိတ်အချက်အလက်များကိုသင်စစ်ဆေးနိုင်သည် အောက်ပါ link ကို။ 


ဆောင်းပါး၏ပါ ၀ င်မှုသည်ကျွန်ုပ်တို့၏အခြေခံမူများကိုလိုက်နာသည် အယ်ဒီတာအဖွဲ့ကျင့်ဝတ်။ အမှားတစ်ခုကိုသတင်းပို့ရန်ကလစ်နှိပ်ပါ ဒီမှာ.

မှတ်ချက်ပေးရန်ပထမဦးဆုံးဖြစ်

သင်၏ထင်မြင်ချက်ကိုချန်ထားပါ

သင့်အီးမေးလ်လိပ်စာပုံနှိပ်ထုတ်ဝေမည်မဟုတ်ပါ။ တောင်းဆိုနေတဲ့လယ်ယာနှင့်အတူမှတ်သားထားတဲ့ *

*

*

  1. အချက်အလက်အတွက်တာဝန်ရှိသည် - Miguel ÁngelGatón
  2. အချက်အလက်များ၏ရည်ရွယ်ချက်: ထိန်းချုပ်ခြင်း SPAM, မှတ်ချက်စီမံခန့်ခွဲမှု။
  3. တရားဝင်: သင်၏ခွင့်ပြုချက်
  4. အချက်အလက်များ၏ဆက်သွယ်မှု - ဒေတာများကိုဥပဒေအရတာ ၀ န်ယူမှုမှ လွဲ၍ တတိယပါတီများသို့ဆက်သွယ်မည်မဟုတ်ပါ။
  5. ဒေတာသိမ်းဆည်းခြင်း: Occentus ကွန်ယက်များ (အီးယူ) မှလက်ခံသည့်ဒေတာဘေ့စ
  6. အခွင့်အရေး - မည်သည့်အချိန်တွင်မဆိုသင်၏အချက်အလက်များကိုကန့်သတ်၊