జిసిసి 11.1 ఇప్పటికే విడుదలైంది, ఇవి దాని ముఖ్యమైన వార్తలు మరియు మార్పులు

ఒక సంవత్సరం అభివృద్ధి తరువాత, జిసిసి 11.1 కంపైలర్ సూట్ కొత్త వెర్షన్ విడుదల చేయబడింది, కొత్త జిసిసి 11.x బ్రాంచ్‌లో మొదటి ముఖ్యమైన విడుదల. కొత్త వెర్షన్ నంబరింగ్ పథకం కింద, సంస్కరణ 11.0 అభివృద్ధి సమయంలో ఉపయోగించబడింది, మరియు జిసిసి 11.1 విడుదలకు కొంతకాలం ముందు, జిసిసి 12.0 యొక్క శాఖ జిసిసి 12.1 యొక్క తదుపరి ప్రధాన సంస్కరణను రూపొందించడానికి ఇప్పటికే ఫోర్క్ చేయబడింది.

GCC 11.1 డిఫాల్ట్ డీబగ్ ఫైల్ ఫార్మాట్ DWARF 5 కు మారడానికి నిలుస్తుంది, C ++ 17 ప్రమాణం ("-std = gnu ++ 17") యొక్క డిఫాల్ట్ చేరిక, C ++ 20 ప్రమాణంతో అనుకూలతలో గణనీయమైన మెరుగుదలలు, C ++ 23 కు ప్రయోగాత్మక మద్దతు, భవిష్యత్ ప్రమాణాలకు సంబంధించిన మెరుగుదలలు సి భాష (సి 2 ఎక్స్), కొత్త పనితీరు ఆప్టిమైజేషన్లు.

జిసిసి 11.1 ప్రధాన క్రొత్త ఫీచర్లు

C ++ భాష యొక్క డిఫాల్ట్ మోడ్ C ++ 17 ప్రమాణాన్ని ఉపయోగించడానికి మార్చబడింది, గతంలో ప్రతిపాదించిన C ++ 14 కు బదులుగా. ఇతర టెంప్లేట్‌లను పారామితిగా (-fno-new-ttp-matching) ఉపయోగించే టెంప్లేట్‌లను ప్రాసెస్ చేసేటప్పుడు కొత్త C ++ 17 ప్రవర్తనను ఎంపికగా నిలిపివేయడం సాధ్యపడుతుంది.

హార్డ్వేర్ త్వరణానికి మద్దతు జోడించబడింది అడ్రస్‌సానిటైజర్ సాధనం, ఇది మెమరీ యొక్క విముక్తి పొందిన ప్రాంతాలను యాక్సెస్ చేయడం, కేటాయించిన బఫర్ యొక్క పరిమితులను మించి, మరియు మెమరీతో పనిచేసేటప్పుడు కొన్ని ఇతర రకాల లోపాలను గుర్తించడానికి మిమ్మల్ని అనుమతిస్తుంది. ప్రస్తుతం, హార్డ్‌వేర్ త్వరణం AArch64 నిర్మాణానికి మాత్రమే అందుబాటులో ఉంది మరియు Linux కెర్నల్‌ను కంపైల్ చేసేటప్పుడు దాని ఉపయోగం పై దృష్టి పెట్టింది.

ప్రదర్శించిన మరో కొత్తదనం క్రొత్త IPA- మోడ్రెఫ్ పాస్ జోడించబడినందున, విధానాల మధ్య ఆప్టిమైజేషన్లు మరియు మెరుగుదలలు (-fipa-modref) ఫంక్షన్ కాల్‌లలో దుష్ప్రభావాలను ట్రాక్ చేయడానికి మరియు విశ్లేషణ ఖచ్చితత్వాన్ని మెరుగుపరచడానికి. అంతేకాకుండా a IPA-ICF పాస్ యొక్క మెరుగైన అమలు (-fipa-icf), ఇది సంకలన మెమరీ వినియోగాన్ని తగ్గిస్తుంది మరియు ఏకీకృత ఫంక్షన్ల సంఖ్యను పెంచుతుంది, దీని కోసం ఒకేలాంటి కోడ్ బ్లాక్‌లు విలీనం చేయబడతాయి.

El ప్రొఫైల్-నడిచే ఆప్టిమైజేషన్ ఇంజిన్ (పిజిఓ), మెరుగైన "-fprofile-values" మోడ్ పరోక్ష కాల్‌ల కోసం మరిన్ని పారామితులను ట్రాక్ చేయడం ద్వారా.

కూడా OpenMP 5.0 ప్రమాణం యొక్క నిరంతర అమలు హైలైట్ చేయబడింది (ఓపెన్ మల్టీ-ప్రాసెసింగ్), దీనిలో అసైన్‌మెంట్ డైరెక్టివ్ మరియు యూనిఫాం కాని లూప్‌లను ఉపయోగించగల సామర్థ్యం కోసం ప్రారంభ మద్దతును జోడించారు OpenMP బిల్డ్స్‌లో. OMP_TARGET_OFFLOAD ఎన్విరాన్మెంట్ వేరియబుల్ ఇప్పుడు మద్దతిస్తుంది.

సిపి, సి ++ మరియు ఫోర్ట్రాన్ భాషల కోసం అందించిన ఓపెన్‌ఎసిసి 2.6 సమాంతర ప్రోగ్రామింగ్ స్పెసిఫికేషన్ అమలు, ఇది జిపియులకు ఆఫ్‌లోడింగ్ ఆపరేషన్లకు సాధనాలను నిర్వచిస్తుంది మరియు ఎన్విడియా పిటిఎక్స్ వంటి ప్రత్యేక ప్రాసెసర్‌లు మెరుగుపరచబడ్డాయి.

సి కుటుంబ భాషల కోసం, "no_stack_protector" అనే క్రొత్త లక్షణం అమలు చేయబడింది, స్టాక్ రక్షణ ప్రారంభించబడని విధులను గుర్తించడానికి రూపొందించబడింది ("-fstack-రక్షకుడు"). "మాలోక్" లక్షణం కేటాయించటానికి జత కాల్‌లను గుర్తించడానికి మరియు ఉచిత మెమరీకి మద్దతుతో విస్తరించబడింది, ఇది సాధారణ మెమరీ లోపాలను (మెమరీ లీక్‌లు, ఉచిత తర్వాత వాడకం, ఉచిత ఫంక్షన్‌కు డబుల్ కాల్స్ మొదలైనవి) మరియు కంపైలర్ హెచ్చరికలు "-Wmismatched-dealloc", "-Wmismatched- new-delete" మరియు " -ఫ్రీ-నాన్‌హీప్-ఆబ్జెక్ట్ "అస్థిరమైన డీలోకేషన్ మరియు డీలోకేషన్ ఆపరేషన్లను నివేదిస్తుంది.

డీబగ్గింగ్ సమాచారాన్ని ఉత్పత్తి చేసేటప్పుడు, DWARF 5 ఫార్మాట్ అప్రమేయంగా ఉపయోగించబడుతుంది, ఇది మునుపటి సంస్కరణలతో పోలిస్తే, 25% ఎక్కువ కాంపాక్ట్ అయిన డీబగ్గింగ్ డేటాను ఉత్పత్తి చేయడానికి అనుమతిస్తుంది. పూర్తి DWARF 5 మద్దతుకు కనీసం వెర్షన్ 2.35.2 అవసరం.

మెరుగైన థ్రెడ్‌సానిటైజర్ మోడ్ సామర్థ్యాలు (-fsanitize = థ్రెడ్), అవును నుండిప్రత్యామ్నాయ రన్‌టైమ్‌లు మరియు పరిసరాల కోసం మద్దతును జతచేస్తుంది, అలాగే లైనక్స్ కెర్నల్‌లోని జాతి పరిస్థితులను డైనమిక్‌గా గుర్తించడానికి కెర్నల్ కాంకరెన్సీ సానిటైజర్ (KCSAN) డీబగ్గింగ్ సాధనానికి మద్దతు. "-పరం త్సాన్-డిస్టింక్-అస్థిరత" మరియు "-పారామ్ త్సాన్-ఇన్స్ట్రుమెంట్-ఫంక్-ఎంట్రీ-ఎగ్జిట్" అనే కొత్త ఎంపికలను చేర్చారు.

కంట్రోల్ ఫ్లో చార్ట్ (CFG) లోని మునుపటి బ్లాక్ సూచనలు మరియు ఖండనలతో అనుబంధించబడిన అన్ని ఫంక్షన్ కంటెంట్ మరియు అదనపు ప్రాసెసింగ్ సామర్థ్యాలకు వెక్టరైజర్ అకౌంటింగ్‌ను అందిస్తుంది.

ఆప్టిమైజర్ షరతులతో కూడిన కార్యకలాపాల శ్రేణిని మార్పు వ్యక్తీకరణగా మార్చగల సామర్థ్యాన్ని కలిగి ఉంది, దీనిలో అదే వేరియబుల్ పోల్చబడుతుంది. భవిష్యత్తులో, మార్పు వ్యక్తీకరణను బిట్ పరీక్ష సూచనలను ఉపయోగించి ఎన్కోడ్ చేయవచ్చు (ఈ మార్పిడిని నియంత్రించడానికి, "-fbit-test" ఎంపిక జోడించబడింది).

C ++ కోసం, C ++ 20 ప్రమాణంలో ప్రతిపాదించబడిన మార్పులు మరియు ఆవిష్కరణలలో ఒక భాగం అమలు చేయబడింది, వీటిలో వర్చువల్ ఫంక్షన్లు "కన్స్టెవల్ వర్చువల్", వస్తువుల జీవిత చక్రాన్ని ముగించడానికి సూడో-డిస్ట్రాయర్లు, ఎనుమ్ క్లాస్ ఉపయోగించి మరియు లెక్కించడం "క్రొత్త" వ్యక్తీకరణలోని శ్రేణి యొక్క పరిమాణం.

మీరు దాని గురించి మరింత తెలుసుకోవాలనుకుంటే, మీరు వివరాలను తనిఖీ చేయవచ్చు కింది లింక్. 


వ్యాసం యొక్క కంటెంట్ మా సూత్రాలకు కట్టుబడి ఉంటుంది సంపాదకీయ నీతి. లోపం నివేదించడానికి క్లిక్ చేయండి ఇక్కడ.

వ్యాఖ్యానించిన మొదటి వ్యక్తి అవ్వండి

మీ వ్యాఖ్యను ఇవ్వండి

మీ ఇమెయిల్ చిరునామా ప్రచురితమైన కాదు. లు గుర్తించబడతాయి గుర్తించబడతాయి *

*

*

  1. డేటాకు బాధ్యత: మిగ్యుల్ ఏంజెల్ గాటన్
  2. డేటా యొక్క ఉద్దేశ్యం: కంట్రోల్ స్పామ్, వ్యాఖ్య నిర్వహణ.
  3. చట్టబద్ధత: మీ సమ్మతి
  4. డేటా యొక్క కమ్యూనికేషన్: డేటా చట్టపరమైన బాధ్యత ద్వారా తప్ప మూడవ పార్టీలకు తెలియజేయబడదు.
  5. డేటా నిల్వ: ఆక్సెంటస్ నెట్‌వర్క్స్ (EU) హోస్ట్ చేసిన డేటాబేస్
  6. హక్కులు: ఎప్పుడైనా మీరు మీ సమాచారాన్ని పరిమితం చేయవచ్చు, తిరిగి పొందవచ్చు మరియు తొలగించవచ్చు.