GCC 11.1 पहले ही जारी किया जा चुका है, ये इसके सबसे महत्वपूर्ण समाचार और परिवर्तन हैं

विकास के एक वर्ष के बाद, जीसीसी 11.1 संकलक सुइट नया संस्करण जारी कियानई GCC 11.x शाखा में पहली महत्वपूर्ण रिलीज। नई संस्करण नंबरिंग योजना के तहत, विकास के दौरान संस्करण 11.0 का उपयोग किया गया था, और जीसीसी 11.1 की रिलीज से कुछ समय पहले ही जीसीसी 12.0 की एक शाखा को जीसीसी 12.1 के अगले प्रमुख संस्करण को बनाने के लिए पहले ही फोर्क कर दिया गया था।

जीसीसी 11.1 डिफ़ॉल्ट डिबग फ़ाइल प्रारूप DWARF 5 के लिए संक्रमण के लिए खड़ा हैC ++ 17 मानक का डिफ़ॉल्ट समावेशन ("-std = gnu ++ 17"), C ++ 20 मानक के साथ संगतता में महत्वपूर्ण सुधार, C ++ 23 के लिए प्रयोगात्मक समर्थन, भविष्य के मानक से संबंधित सुधार सी भाषा (C2x), नया प्रदर्शन अनुकूलन।

जीसीसी 11.1 मुख्य नई विशेषताएं

C ++ भाषा के लिए डिफ़ॉल्ट मोड C ++ 17 मानक का उपयोग करने के लिए बदल दिया गया हैके बजाय पहले से प्रस्तावित सी ++ 14। प्रसंस्करण टेम्पलेट को एक पैरामीटर (-fno-new-ttp-मिलान) के रूप में उपयोग करने वाले नए C ++ 17 व्यवहार को चुनिंदा रूप से अक्षम करना संभव है।

हार्डवेयर त्वरण के लिए जोड़ा गया समर्थन AddressSanitizer टूल, जो आपको मेमोरी के साथ काम करने के दौरान मुक्त किए गए मेमोरी क्षेत्रों तक पहुँचने के तथ्यों को निर्धारित करने की अनुमति देता है, आवंटित बफ़र की सीमाएँ और कुछ अन्य प्रकार की त्रुटियां। वर्तमान में, हार्डवेयर त्वरण केवल AArch64 आर्किटेक्चर के लिए उपलब्ध है और लिनक्स कर्नेल को संकलित करते समय इसके उपयोग पर ध्यान केंद्रित करता है।

प्रस्तुत है एक और नवीनता प्रक्रियाओं के बीच अनुकूलन और सुधार, एक नए IPA-modref पास के रूप में जोड़ा गया (-fipa-modref) फंक्शन कॉल में साइड इफेक्ट को ट्रैक करने और विश्लेषण सटीकता में सुधार करने के लिए। इसके अलावा ए IPA-ICF पास का बेहतर कार्यान्वयन (-fipa-icf), जो संकलन मेमोरी की खपत को कम करता है और एकीकृत कार्यों की संख्या को बढ़ाता है जिसके लिए कोड के समान ब्लॉकों को मिला दिया जाता है।

El प्रोफ़ाइल चालित अनुकूलन इंजन (पीजीओ), बेहतर "-प्रोफाइल-वैल्यू" मोड अप्रत्यक्ष कॉल के लिए अधिक मापदंडों का ट्रैक रखते हुए।

भी ओपनएमपी 5.0 मानक के निरंतर कार्यान्वयन पर प्रकाश डाला गया है (ओपन मल्टी-प्रोसेसिंग), जिसमें असाइनमेंट निर्देश और गैर-समान छोरों का उपयोग करने की क्षमता के लिए प्रारंभिक समर्थन जोड़ा गया में OpenMP बनाता है। OMP_TARGET_OFFLOAD वातावरण चर अब समर्थित है।

C, C ++ और फोरट्रान भाषाओं के लिए प्रदान किए गए OpenACC 2.6 समानांतर प्रोग्रामिंग विनिर्देशन का कार्यान्वयन, जो कि GPUs के संचालन को बंद करने और NVIDIA PTX जैसे विशेष प्रोसेसर के लिए उपकरणों को परिभाषित करता है, को बेहतर बनाया गया है।

C परिवार की भाषाओं के लिए, एक नई विशेषता "no_stack_protector" लागू की गई है, उन कार्यों को चिह्नित करने के लिए डिज़ाइन किया गया है जिनके लिए स्टैक सुरक्षा सक्षम नहीं होनी चाहिए ("-fstack-protector")। आवंटित और मुफ्त मेमोरी के लिए "मेलॉक" विशेषता को कॉल के जोड़े की पहचान के लिए समर्थन के साथ बढ़ाया गया है, जिसका उपयोग स्थिर पार्सर में विशिष्ट मेमोरी एरर (मेमोरी लीक्स, फ्री के बाद उपयोग, फ्री फंक्शन के लिए डबल कॉल, आदि) और कंपाइलर चेतावनियों "-विस्मैचेड-डीललॉक", "-विस्मैचेड-न्यू-डिलीट" और "का पता लगाने के लिए किया जाता है। -विफ्री-नॉनहैप-ऑब्जेक्ट "असंगत डीललोकेशन और डीललोकेशन संचालन की रिपोर्टिंग।

डिबगिंग जानकारी उत्पन्न करते समय, DWARF 5 प्रारूप का उपयोग डिफ़ॉल्ट रूप से किया जाता है, जो पिछले संस्करणों की तुलना में, डीबगिंग डेटा की पीढ़ी को 25% अधिक कॉम्पैक्ट बनाने की अनुमति देता है। पूर्ण DWARF 5 समर्थन को कम से कम 2.35.2 संस्करण में बिनुटिल की आवश्यकता होती है।

संवर्धित थ्रांसेटाइज़र मोड क्षमताएं (-आसानीकरण = धागा), हाँ के बाद सेई वैकल्पिक रनटाइम और वातावरण के लिए समर्थन जोड़ता है, लिनक्स कर्नेल के भीतर दौड़ की स्थितियों का गतिशील रूप से पता लगाने के लिए कर्नेल कॉनसीरिटी सैनिटाइज़र (KCSAN) डिबगिंग टूल का समर्थन करता है। नए विकल्प "-परम तान-भेद-वाष्पशील" और "-पारम तानस-इंस्ट्रूमेंट-फंक-एंट्री-एक्जिट" को जोड़ा गया है।

वेक्टराइज़र फ़ंक्शन की सभी सामग्री का लेखा-जोखा और नियंत्रण प्रवाह चार्ट (सीएफजी) में पिछले ब्लॉकों के चौराहों और संदर्भों से जुड़ी क्षमताओं का अतिरिक्त प्रसंस्करण प्रदान करता है।

आशावादी में सशर्त संचालन की एक श्रृंखला को एक परिवर्तन अभिव्यक्ति में बदलने की क्षमता है, जिसमें एक ही चर की तुलना की जाती है। भविष्य में, परिवर्तन की अभिव्यक्ति बिट परीक्षण निर्देशों का उपयोग करके एन्कोड की जा सकती है (इस रूपांतरण को नियंत्रित करने के लिए, "-fbit- परीक्षण" विकल्प जोड़ा गया है)।

सी ++ के लिए, सी ++ 20 मानक में प्रस्तावित परिवर्तनों और नवाचारों का एक हिस्सा लागू किया गया है, जिसमें वर्चुअल फ़ंक्शंस "कॉन्स्टेवल वर्चुअल", छद्म-विध्वंसक वस्तुओं के जीवन चक्र को समाप्त करने के लिए, एनम वर्ग का उपयोग करना और गणना करना शामिल है। "नया" अभिव्यक्ति में एक सरणी का आकार।

अगर आप इसके बारे में और जानना चाहते हैं, आप इसमें विवरण देख सकते हैं निम्नलिखित लिंक। 


लेख की सामग्री हमारे सिद्धांतों का पालन करती है संपादकीय नैतिकता। त्रुटि की रिपोर्ट करने के लिए क्लिक करें यहां.

पहली टिप्पणी करने के लिए

अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।