Microsoft ने मानक C ++ लाइब्रेरी एसटीएल के अपने कार्यान्वयन से कोड जारी किया

एसटीएल का उद्घाटन

CppCon 2019 सम्मेलन का स्थान था की प्राप्ति माइक्रोसॉफ्ट की ओर से एक शानदार घोषणा, इसमें अच्छा है एसटीएल लाइब्रेरी सोर्स कोड का विमोचन जारी किया विज़ुअल C++ के साथ C++ मानक शामिल है जो घोषणा के अनुसार उपलब्ध है निःशुल्क लाइसेंस के अंतर्गत, विशेष रूप से अपाचे 2.0 (जो काफी अनुमन्य है)।

libcxx, LLVM/Clang C++ मानक लाइब्रेरी, पहले से ही इस लाइसेंस का उपयोग करती है, जिससे परियोजनाओं के बीच कोड साझा करना आसान हो जाएगा। इस लाइब्रेरी के लिए सभी स्रोत कोड उपलब्ध हैं और विज़ुअल सी++ के साथ पहले से ही संकलित हैं, लेकिन परीक्षण अभी तक शामिल नहीं किए गए हैं।

ओपन प्रोजेक्ट को GitHub पर विकसित करने और पुल अनुरोध प्राप्त करने की योजना है नई सुविधाओं और पैच के साथ तीसरे पक्ष से। सदस्य बनने के लिए, आपको सीएलए कोड स्थानांतरण समझौते पर हस्ताक्षर करना होगा।

MSVC टीम का मानना ​​है कि STL से GitHub पर माइग्रेट करने से Microsoft ग्राहकों को विकास प्रक्रिया के साथ अपडेट रहने, नवाचारों के साथ प्रयोग करने और परियोजना को विकसित करने में मदद मिलेगी।

इसके बजाय, डेवलपर्स अन्य परियोजनाओं में नए मानकों के आउट-ऑफ़-द-बॉक्स कार्यान्वयन का उपयोग करने में सक्षम होंगे।

उदाहरण के लिए, आप libc++ लाइब्रेरी के साथ कोड का आदान-प्रदान कर सकते हैं जो LLVM प्रोजेक्ट के अंदर काम करता है। माइक्रोसॉफ्ट इस बात पर जोर देता है कि STL और libc++ का विलय नहीं हुआ है, वे अभी भी अलग-अलग लाइब्रेरी हैं, विभिन्न संरचनाओं और प्लेटफार्मों के साथ। हालाँकि, अब आप लाइसेंसिंग की चिंता किए बिना दोनों पुस्तकालयों के लिए नई सुविधाओं पर काम कर सकते हैं

मानक लाइब्रेरी के इस कार्यान्वयन का उद्देश्य जीसीसी या क्लैंग द्वारा प्रदान किए गए कार्यान्वयन के साथ प्रतिस्पर्धा करना नहीं है, उदाहरण के लिए: माइक्रोसॉफ्ट परियोजना माइक्रोसॉफ्ट के अलावा अन्य प्लेटफार्मों का समर्थन करने की योजना नहीं बनाती है।

हालाँकि, डेवलपर्स का लक्ष्य उच्च गुणवत्ता वाले कार्यान्वयन का है: मानकों के अनुरूप और बहुत तेज़।

विज़ुअल C++ संस्करण 2015 और 2017 के साथ बाइनरी संगतता की गारंटी है (यह लाइब्रेरी 2019 संस्करण के साथ प्रदान की गई है), उन सुविधाओं को छोड़कर जो मानक को अंतिम रूप देने से पहले लागू की गई थीं (कार्य पत्र और तकनीकी विनिर्देश सी ++ मानक समिति)।

WCBF02 शाखा (अभी भी Microsoft के लिए आंतरिक) में बाइनरी स्तर पर असंगत परिवर्तन हैं, लेकिन स्रोत स्तर पर नहीं (मानक लाइब्रेरी अपडेट के लिए, आपकी परियोजनाओं को केवल DLL को बदलने की नहीं, बल्कि पुन: संकलित करने की आवश्यकता होगी)। इस शाखा में कई सुधार और सुधार शामिल हैं और जल्द ही सार्वजनिक रूप से उपलब्ध होंगे।

मुफ़्त के रूप में वर्णित कुछ परियोजनाओं के विपरीत, Microsoft दोषों की रिपोर्ट करने और प्रोजेक्ट कोड में योगदान देने की अनुशंसा करता है (इस मामले में, Microsoft को योगदान को पुनर्वितरित करने के लिए आवश्यक अधिकार देने वाले CLA पर हस्ताक्षर करना आवश्यक होगा, विशेष रूप से उस स्थिति में जब प्रोजेक्ट लाइसेंस बदल जाता है, एक कठिनाई जिसका LLVM को कई वर्षों से सामना करना पड़ रहा है)।

निकट भविष्य में, Microsoft को प्रोजेक्ट में अपना आंतरिक परीक्षण सूट जोड़ना चाहिए. आंतरिक रूप से बढ़े हुए बग की सूची GitHub पर स्थानांतरित की जा रही है। फिलहाल, निर्माण MSBuild के साथ किया गया है, लेकिन CMake में माइग्रेशन चल रहा है। C++20 कार्यक्षमता कार्यान्वित की जा रही है।

अन्य विज़ुअल C++ घटक निःशुल्क लाइसेंस के लिए उपलब्ध नहीं होने चाहिए। माइक्रोसॉफ्ट इस विकल्प को यह कहकर उचित ठहराता है कि C++ मानक लाइब्रेरी काफी कंपाइलर-स्वतंत्र है (उदाहरण के लिए, C मानक लाइब्रेरी के विपरीत) और यह अन्य कंपाइलर घटकों की तुलना में बहुत तेज़ी से विकसित होती है।

एसटीएल स्रोत कोड स्थित है अब जीथूब पर उपलब्ध है जहां इच्छुक लोग इसे डाउनलोड कर सकेंगे या इसके कोड की जांच कर सकेंगे।

GitHub रिपॉजिटरी में उत्पाद के लिए सभी स्रोत कोड हैं, अधिक जानकारी के साथ एक नया CMake बिल्ड सिस्टम और README। लाइब्रेरी को Apache 2.0 लाइसेंस के तहत लाइसेंस प्राप्त है (कुछ बायनेरिज़ को छोड़कर)।

जाहिर है, यह उन डेवलपर्स को प्रभावित नहीं करता जो केवल एसटीएल का उपयोग करना चाहते हैं, चूँकि यह विजुअल स्टूडियो आईडीई में उपयोग के लिए उपलब्ध है। हालाँकि, जो डेवलपर्स एसटीएल विकास में भाग लेना चाहते हैं, वे GitHub रिपॉजिटरी का उपयोग करके ऐसा कर सकते हैं।

GitHub पर स्थानांतरण अभी भी चल रहा है, लेकिन कोड को अब क्लोन और निर्मित किया जा सकता है।


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

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

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

*

*

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