Microsoft heeft de broncode van de standaard C++-bibliotheek vrijgegeven die wordt geleverd met Visual Studio.

Tijdens de momenteel lopende CppCon 2019-conferentie heeft Microsoft heeft aangekondigd de broncode onthuld van zijn implementatie van de standaardbibliotheek C++ (STL, C++ Standard Library), die deel uitmaakt van de MSVC-toolset en de ontwikkelomgeving Visual Studio. De bibliotheek ondersteunt de mogelijkheden die worden beschreven in de huidige C++14- en C++17-standaarden, en ontwikkelt zich tevens richting de ondersteuning van de toekomstige C++20-standaard, waarbij het de wijzigingen in de huidige werkdocumenten volgt. De code is er onbeperkt en gratis toegang geopend tot de yum-repository met binaire pakketupdates met bugfixes (errata) en beveiligingsproblemen. is gelicenseerd onder de Apache 2.0-licentie met uitzonderingen voor binaire bestanden, die het probleem van het opnemen van runtime-bibliotheken in de geproduceerde uitvoerbare bestanden oplost.

De ontwikkeling van deze bibliotheek zal in de toekomst als een open project op GitHub worden voortgezet, waarbij externe ontwikkelaars pull-verzoeken met correcties en implementaties van nieuwe mogelijkheden kunnen indienen (voor deelname aan de ontwikkeling is een ondertekening van een CLA-overeenkomst voor de overdracht van vermogensrechten op de ingeleverde code vereist). Het wordt opgemerkt dat de overdracht van de ontwikkeling van STL naar GitHub Microsoft-klanten zal helpen om de voortgang van de ontwikkeling te volgen, te experimenteren met de nieuwste wijzigingen en te helpen bij het beoordelen van de ingediende verzoeken voor nieuwe toevoegingen.

De openstelling van de code zal de gemeenschap ook in staat stellen om kant-en-klare implementaties van functionaliteiten uit de nieuwe standaarden in andere projecten te gebruiken. De licentie voor de code is zodanig gekozen dat het mogelijk is om de code uit te wisselen met de bibliotheek libc++ van het LLVM-project. STL en libc++ verschillen in de interne representatie van gegevensstructuren, maar ontwikkelaars van libc++ kunnen, indien gewenst, functionaliteiten uit STL (zoals charconv) porteren of kunnen beide projecten samen nieuwe innovaties ontwikkelen. De aan de Apache-licentie toegevoegde uitzonderingen doen de vereisten voor het vermelden van de oorsprong van het product vervallen bij het leveren aan eindgebruikers van binaire bestanden die met STL zijn gecompileerd.

Een van de belangrijkste doelen van het project is volledige naleving van de specificaties, het waarborgen van hoge prestaties, gebruiksgemak (debuggingtools, foutdiagnose, foutdetectie) en compatibiliteit op niveau van broncode en ABI met eerdere versies van Visual Studio 2015/2017. Onder de gebieden waarin Microsoft niet geĆÆnteresseerd is in ontwikkeling, worden het porteren naar andere platforms en het toevoegen van niet-standaard uitbreidingen genoemd.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster