ఈ రోజుల్లో జరుగుతున్న CppCon 2019 సమావేశంలో, Microsoft MSVC టూల్కిట్ మరియు విజువల్ స్టూడియో డెవలప్మెంట్ ఎన్విరాన్మెంట్లో భాగమైన C++ స్టాండర్డ్ లైబ్రరీ (STL, C++ స్టాండర్డ్ లైబ్రరీ) యొక్క అతని అమలు కోడ్ను తెరవడం గురించి. లైబ్రరీ ప్రస్తుత C++14 మరియు C++17 ప్రమాణాలలో వివరించిన సామర్థ్యాలను అమలు చేస్తుంది మరియు ప్రస్తుత పని డ్రాఫ్ట్లో మార్పులను అనుసరించి భవిష్యత్ C++20 ప్రమాణానికి మద్దతుగా కూడా అభివృద్ధి చెందుతోంది. కోడ్ Apache 2.0 లైసెన్స్లో బైనరీ ఫైల్ల మినహాయింపులతో రూపొందించబడిన ఎక్జిక్యూటబుల్ ఫైల్లలో రన్టైమ్ లైబ్రరీలను చేర్చే సమస్యను పరిష్కరిస్తుంది.
భవిష్యత్తులో ఈ లైబ్రరీ అభివృద్ధిని GitHubలో అభివృద్ధి చేసిన ఓపెన్ ప్రాజెక్ట్గా నిర్వహించాలని యోచిస్తున్నారు, థర్డ్-పార్టీ డెవలపర్ల నుండి పుల్ అభ్యర్థనలను దిద్దుబాట్లు మరియు కొత్త ఫీచర్ల అమలుతో ఆమోదించడం (అభివృద్ధిలో పాల్గొనడానికి బదిలీపై CLA ఒప్పందంపై సంతకం చేయడం అవసరం. బదిలీ చేయబడిన కోడ్కు ఆస్తి హక్కులు). GitHubకి STL డెవలప్మెంట్ని బదిలీ చేయడం వలన మైక్రోసాఫ్ట్ కస్టమర్లు డెవలప్మెంట్ పురోగతిని ట్రాక్ చేయడం, తాజా మార్పులతో ప్రయోగాలు చేయడం మరియు ఆవిష్కరణలను జోడించడం కోసం ఇన్కమింగ్ అభ్యర్థనలను సమీక్షించడంలో సహాయపడుతుందని గుర్తించబడింది.
ఓపెన్ సోర్స్ ఇతర ప్రాజెక్ట్లలోని కొత్త ప్రమాణాల నుండి ఫీచర్ల యొక్క రెడీమేడ్ ఇంప్లిమెంటేషన్లను ఉపయోగించడానికి కమ్యూనిటీని అనుమతిస్తుంది. ఉదాహరణకు, లైబ్రరీతో కోడ్ను భాగస్వామ్యం చేసే సామర్థ్యాన్ని అందించడానికి కోడ్ లైసెన్స్ ఎంచుకోబడింది LLVM ప్రాజెక్ట్ నుండి. STL మరియు libc++ డేటా స్ట్రక్చర్ల అంతర్గత ప్రాతినిధ్యంలో విభిన్నంగా ఉంటాయి, అయితే కావాలనుకుంటే, libc++ డెవలపర్లు STL నుండి ఆసక్తిని పోర్ట్ చేయవచ్చు (ఉదాహరణకు, charconv) లేదా రెండు ప్రాజెక్ట్లు సంయుక్తంగా కొన్ని ఆవిష్కరణలను అభివృద్ధి చేయవచ్చు. Apache లైసెన్స్కు జోడించబడిన మినహాయింపులు తుది వినియోగదారులకు STLతో కంపైల్ చేయబడిన బైనరీలను పంపిణీ చేసేటప్పుడు అసలు ఉత్పత్తి యొక్క వినియోగాన్ని పేర్కొనవలసిన అవసరాన్ని తొలగిస్తాయి.
ప్రాజెక్ట్ యొక్క ముఖ్య లక్ష్యాలలో స్పెసిఫికేషన్ అవసరాలతో పూర్తి సమ్మతి, అధిక పనితీరును నిర్ధారించడం, వాడుకలో సౌలభ్యం (డీబగ్గింగ్ సాధనాలు, డయాగ్నోస్టిక్స్, ఎర్రర్ డిటెక్షన్) మరియు సోర్స్ కోడ్ స్థాయిలో అనుకూలత మరియు విజువల్ స్టూడియో 2015/2017 యొక్క మునుపటి విడుదలలతో ABI ఉన్నాయి. ఇతర ప్లాట్ఫారమ్లకు పోర్ట్ చేయడం మరియు ప్రామాణికం కాని పొడిగింపులను జోడించడం వంటివి మైక్రోసాఫ్ట్ అభివృద్ధి చేయడానికి ఆసక్తి చూపని ప్రాంతాలలో ఉన్నాయి.
మూలం: opennet.ru
