LLVM 17.0 पहले ही जारी किया जा चुका है और ये इसकी खबरें हैं

एलएलवीएम लोगो

एलएलवीएम कंपाइलर विकसित करने के साथ-साथ नई प्रोग्रामिंग भाषाओं के निर्माण और मौजूदा भाषाओं में सुधार करने में मदद करने के लिए एक ढांचा है।

छह महीने के विकास के बाद एलएलवीएम 17.0 का नया संस्करण प्रस्तुत किया गया है, जिसमें विभिन्न सुधार, परिवर्तन, बग फिक्स और सबसे बढ़कर, विभिन्न महत्वपूर्ण पहलुओं को क्लैंग 17.0 में लागू किया गया है।

एलएलवीएम से अपरिचित लोगों के लिए, आपको पता होना चाहिए कि यह एक जीसीसी संगत संकलक है (कंपाइलर, ऑप्टिमाइज़र, और कोड जेनरेटर) जो प्रोग्राम को आरआईएससी-जैसे वर्चुअल इंस्ट्रक्शन इंटरमीडिएट बिटकोड (एक बहु-स्तरीय ऑप्टिमाइज़ेशन सिस्टम के साथ एक निम्न-स्तरीय वर्चुअल मशीन) में संकलित करता है।

जेनरेट किए गए स्यूडोकोड को जेआईटी कंपाइलर द्वारा प्रोग्राम के निष्पादन के समय ही मशीन निर्देशों में परिवर्तित किया जा सकता है।

एलएलवीएम 17.0 की मुख्य नई विशेषताएं

प्रस्तुत एलएलवीएम 17.0 के इस नए संस्करण में, ध्यान में रखने के लिए कई प्रासंगिक पहलू हैं, जिनमें से, उदाहरण के लिए, X86 बैकएंड में सुधार, अच्छा उसने जोड़ा हैo एक्सटेंशन के लिए समर्थन अनुदेश सेट वास्तुकला ISA SHA512, ISA SM3, ISA SM4 और ISA AVX-VNNI-INT16।

इसके अतिरिक्त, यह इस पर भी प्रकाश डालता है में सुधार वास्तुकला के लिए बैकएंड क्षमताएं RISC-वी जिसका तब से काफी विस्तार हुआ है si five-x280 प्रोसेसर के लिए अतिरिक्त समर्थन।

एक और बदलाव जो हम पा सकते हैं वह है XTH प्रोसेसर एक्सटेंशन के लिए समर्थन लागू किया गया*, साथ ही एक्सटेंशन के साथ अनुकूलता एलएसएक्स, एलएएसएक्स, एलवीजेड और एलबीटी आईएसए लूंगआर्क आर्किटेक्चर के बैकएंड तक।

AArch64, ARM, WebAssembly, MIPS, PowerPC, AMDGPU आर्किटेक्चर के लिए बेहतर बैकएंड, LLD लिंकर क्षमताओं का विस्तार, और रिकॉर्ड के बारे में सभी ज्ञात जानकारी प्रदर्शित करने के लिए LLDB डीबगर में एक नया "रजिस्टर जानकारी" कमांड जोड़ा गया।

क्लैंग 17.0 में सुधारों के संबंध में, इस बात पर प्रकाश डाला गया है कि भविष्य के सी-मानक सी2एक्स में परिभाषित विशेषताएं जैसे कि बूल, स्टेटिक_एस्सर्ट, एलाइन्स, एलाइनॉफ और थ्रेड_लोकल कीवर्ड लागू किए गए हैं, साथ ही खाली वर्ग कोष्ठक निर्दिष्ट करने की क्षमता भी लागू की गई है। } »शून्य मानों पर आरंभीकरण के लिए।

कोडo C "गोटो" अभिव्यक्ति को अग्रेषित करने की क्षमता प्रदान करता है अप्रत्यक्ष रूप से चयनित टैग के माध्यम से "एएसएम" ब्लॉक के भीतर, सी एक्सटेंशन के लिए समर्थन जोड़ा गया था जो संरचनाओं, यूनियनों के उपयोग के लिए सी भाषा में निरंतर अभिव्यक्ति की अनुमति देने के अलावा, "_जेनेरिक" में पहले ऑपरेंड के रूप में एक अभिव्यक्ति के बजाय एक प्रकार का उपयोग करने की अनुमति देता है। और सरणियाँ "const" विशेषता के साथ घोषित की गईं।

C++20 मानक से संबंधित सुधारों के संबंध में, अब इसका उल्लेख किया गया है विंडोज़ को छोड़कर सभी प्लेटफ़ॉर्म पर, Coroutines के लिए पूर्ण समर्थन उपलब्ध है, इसके अलावा, निरंतर अभिव्यक्ति तुलना संचालन के लिए अतिरिक्त आवश्यकताएं लागू की गई हैं।

इस बात पर भी अब प्रकाश डाला गया हैलैम्ब्डा टेम्प्लेट की सही पार्सिंग की गारंटी है टेम्प्लेट पैरामीटर के तुरंत बाद निर्दिष्ट किया गया है और ब्लॉक में एक आश्रित प्रकार के साथ एक चर शामिल है। उपयोगकर्ता शाब्दिक में डबल अंडरस्कोर के उपयोग को आरक्षित किया और नाम में आरक्षित पहचानकर्ताओं के साथ फ़ंक्शन परिभाषाओं में "ऑपरेटर" कीवर्ड के उपयोग को हतोत्साहित किया।

के बारे में C++23 मानक से संबंधित सुधार किए जाने हैं , यह उल्लेख किया गया है कि यह आईएसओ द्वारा अनुमोदन के अंतिम चरण में है लैम्ब्डा फ़ंक्शंस में अंतिम रिटर्न प्रकार का दायरा बदल गया पहले हुक्स को देखें और फिर आसपास के टेक्स्ट को।

की अन्य परिवर्तन वह बाहर खड़ा है:

  • का उपयोग करके बहुआयामी सरणियों को परिभाषित करने की क्षमता जोड़ी गई
  • "-O0" अनुकूलन मोड का उपयोग करके C++ अनुप्रयोगों को संकलित करते समय, कॉल के लिए कोड जनरेशन में सुधार किया गया है।
  • आउटपुट रंग को अक्षम करने के लिए NO_COLOR पर्यावरण चर के लिए समर्थन जोड़ा गया।
  • स्थैतिक विश्लेषण और नैदानिक ​​​​उपकरणों का काफी विस्तार किया गया है, उदाहरण के लिए, नए हस्ताक्षरित पूर्णांक अतिप्रवाह जांच, लैम्ब्डा टेम्पलेट सुधार, कॉन्स्टएक्सपीआर अभिव्यक्ति, शून्य सूचक तुलना, अप्रारंभीकृत संरचनाओं का उपयोग, आदि को जोड़ा गया है।
  • Libc++ लाइब्रेरी C++20 और C++23 मानकों की क्षमताओं के लिए समर्थन लागू करना जारी रखती है, और C++26 विनिर्देशन के लिए समर्थन प्रदान करने के लिए भी काम शुरू हो गया है।
  • हेडर फ़ाइलों और मॉड्यूल के बीच कनेक्शन के विवरण में "cplusplus23 की आवश्यकता है" अभिव्यक्ति के लिए समर्थन जोड़ा गया।

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


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

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

*

*

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