Microsoft heeft de standaard C ++ -bibliotheekcode in Visual Studio uitgebracht

microsoft-logo

Microsoft-logo

Op de CppCon 2019-conferentie dat wordt tegenwoordig gevierd, de exponenten van Microsoft maakten van de gelegenheid gebruik om de aankondiging van de opening van de code te doen voor de uitvoering ervan uit de C ++ Standard Library (ook bekend als STL), dat deel uitmaakt van de MSVC Toolkit en de Visual Studio-ontwikkelomgeving.

De bibliotheek implementeert de mogelijkheden die worden beschreven in de huidige C ++ 14 en C ++ 17 standaarden, en het is ook ontwikkeld in de richting van ondersteuning van de toekomstige C ++ 20-standaard, volgend op de wijzigingen in het huidige werkvoorstel.

Door de redenen waarom de mensen bij Microsoft hebben besloten deze stap te zetten, in de verklaring leggen ze uit:

Er zijn verschillende redenen waarom we dit doen, een daarvan is om aan de STL op GitHub te werken, hierdoor kunnen onze klanten onze ontwikkeling volgen terwijl deze plaatsvindt, onze laatste wijzigingen testen en ons helpen onze pull-verzoeken te verbeteren door ze te beoordelen.

Naarmate de C ++ -standaardisatie versnelt en er elk jaar over grotere functies wordt gestemd, denken we dat het belangrijk zal zijn om de kernfuncties als open source-bijdragen te accepteren. (Het C ++ 20-formaat en chronologische bibliotheken zijn bijvoorbeeld potentiële kandidaten.) We willen ook een bijdrage leveren aan de C ++ -gemeenschap door de implementatie van onze kernfuncties mogelijk te maken. (Bijvoorbeeld charconv uit C ++ 17)

Ermee Mensen van Microsoft lieten weten dat ze van plan zijn om deze bibliotheek als een open project verder te ontwikkelen die wordt ontwikkeld op GitHub die pull-verzoeken van externe ontwikkelaars met fixes en de implementatie van nieuwe functies accepteert (om deel te nemen aan de ontwikkeling is een CAO-overeenkomst vereist om eigendomsrechten op de overgedragen code over te dragen).

Opgemerkt wordt dat het overzetten van ontwikkeling van STL naar GitHub zal Microsoft-klanten helpen om Houd de voortgang van de ontwikkeling bij, experimenteer met de laatste wijzigingen en help binnenkomende verzoeken om innovaties te beoordelen.

Open ook de code laat de gemeenschap kant-en-klare implementaties gebruiken kansen voor nieuwe standaarden in andere projecten.

Over de licentie van de code van deze bibliotheek, Het wordt voorgesteld als open onder de Apache 2.0-licentie met uitzonderingen voor binaire bestanden die het probleem oplossen van het opnemen van runtime-bibliotheken in de samenstelling van de gegenereerde uitvoerbare bestanden.

Om duidelijk te zijn, MSVC STL gaat niet samen met libc ++ omdat het nog steeds aparte bibliotheken zijn.

Microsoft legt uit waarom de codelicentie is zo geselecteerd dat code-uitwisseling met de libc ++ bibliotheek van het LLVM-project mogelijk is. STL en libc ++ verschillen in de interne weergave van datastructuren, maar als ze dat willen, kunnen libc ++ ontwikkelaars interessante STL-functionaliteiten porten (bv. Charconv) of kunnen beide projecten gezamenlijk enkele innovaties ontwikkelen.

MSVC STL wordt gedistribueerd onder de Apache v2.0-licentie met LLVM-uitzonderingen, die onlangs is gemaakt door het Clang / LLVM / libc ++ -project.

De uitzonderingen die aan de Apache-licentie zijn toegevoegd, heffen de vereiste op om het gebruik van het bronproduct te vermelden bij het leveren van STL-gecompileerde binaire bestanden aan eindgebruikers.

Deze tolerante open source-licentie is gekozen omdat deze dezelfde licentie heeft als libc ++ waardoor het gemakkelijker wordt om code tussen bibliotheken te delen. Voor alle duidelijkheid: de MSVC STL wordt niet samengevoegd met libc ++; het zijn nog steeds verschillende bibliotheken die verschillende platforms ondersteunen met verschillende datastructuurweergaven.

Aan de andere kant is een van de belangrijkste doelstellingen van het project volledige naleving van de vereisten specificaties, waardoor hoge prestaties, gebruiksgemak (foutopsporing, diagnostiek, foutdetectietools) en compatibiliteit op bron- en ABI-niveau met eerdere versies van Visual Studio 2015/2017 worden gegarandeerd.

Onder de gebieden die Microsoft is niet geïnteresseerd in het ontwikkelen van portabiliteit naar andere platforms en het toevoegen van aangepaste extensies.

Wilt u meer weten over de verklaring van Microsoft, dan kunt u deze raadplegen In de volgende link.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.