Microsoft open source C++ standardbiblioteket inkluderet i Visual Studio

På CppCon 2019-konferencen, der finder sted i disse dage, Microsoft annonceret om at åbne koden til hans implementering af C++ Standard Library (STL, C++ Standard Library), som er en del af MSVC-værktøjssættet og Visual Studio-udviklingsmiljøet. Biblioteket implementerer de muligheder, der er beskrevet i de nuværende C++14 og C++17 standarder, og udvikler sig også mod understøttelse af den fremtidige C++20 standard, efter ændringer i det nuværende arbejdsudkast. Kode åben under Apache 2.0-licensen med undtagelser for binære filer, der løser problemet med at inkludere runtime-biblioteker i de genererede eksekverbare filer.

Udviklingen af ​​dette bibliotek i fremtiden er planlagt til at blive udført som et åbent projekt udviklet på GitHub, der accepterer pull-anmodninger fra tredjepartsudviklere med rettelser og implementering af nye funktioner (deltagelse i udvikling kræver underskrivelse af en CLA-aftale om overførslen af ejendomsrettigheder til den overførte kode). Det bemærkes, at overførslen af ​​STL-udvikling til GitHub vil hjælpe Microsoft-kunder med at spore udviklingen, eksperimentere med de seneste ændringer og hjælpe med at gennemgå indkommende anmodninger om tilføjelse af innovationer.

Open source vil også give fællesskabet mulighed for at bruge færdige implementeringer af funktioner fra de nye standarder i andre projekter. Eksempelvis er kodelicensen valgt for at give mulighed for at dele kode med biblioteket libc++ fra LLVM-projektet. STL og libc++ adskiller sig i den interne repræsentation af datastrukturer, men hvis det ønskes, kan libc++ udviklere overføre funktionalitet af interesse fra STL (for eksempel charconv), eller begge projekter kan i fællesskab udvikle nogle innovationer. Undtagelserne tilføjet til Apache-licensen fjerner kravet om at citere brugen af ​​det originale produkt ved levering af binære filer kompileret med STL til slutbrugere.

Nøglemålene for projektet omfatter fuld overholdelse af specifikationskrav, sikring af høj ydeevne, brugervenlighed (fejlretningsværktøjer, diagnostik, fejldetektion) og kompatibilitet på kildekodeniveau og ABI med tidligere udgivelser af Visual Studio 2015/2017. Blandt de områder, som Microsoft ikke er interesseret i at udvikle, er portering til andre platforme og tilføjelse af ikke-standardiserede udvidelser.

Kilde: opennet.ru

Tilføj en kommentar