Microsoft öppen källkod C++ standardbiblioteket som ingår i Visual Studio

På konferensen CppCon 2019 som äger rum i dagarna, Microsoft tillkännagav om att öppna koden för sin implementering av C++ Standard Library (STL, C++ Standard Library), som är en del av MSVC toolkit och Visual Studios utvecklingsmiljö. Biblioteket implementerar funktioner som beskrivs i de nuvarande C++14- och C++17-standarderna, och utvecklas också mot stöd för den framtida C++20-standarden, efter ändringar i det aktuella arbetsutkastet. Koda är öppen under Apache 2.0-licensen med undantag för binära filer som löser problemet med att inkludera runtime-bibliotek i de genererade körbara filerna.

Utvecklingen av detta bibliotek i framtiden är planerad att genomföras som ett öppet projekt utvecklat på GitHub, som accepterar pull-förfrågningar från tredjepartsutvecklare med korrigeringar och implementering av nya funktioner (deltagande i utveckling kräver att ett CLA-avtal undertecknas om överföringen av äganderätten till den överförda koden). Det noteras att överföringen av STL-utveckling till GitHub kommer att hjälpa Microsoft-kunder att spåra utvecklingens framsteg, experimentera med de senaste ändringarna och hjälpa till att granska inkommande förfrågningar om att lägga till innovationer.

Öppen källkod kommer också att tillåta communityn att använda färdiga implementeringar av funktioner från de nya standarderna i andra projekt. Till exempel är kodlicensen vald för att ge möjlighet att dela kod med biblioteket libc++ från LLVM-projektet. STL och libc++ skiljer sig åt i den interna representationen av datastrukturer, men om så önskas kan libc++-utvecklare porta funktionalitet av intresse från STL (till exempel charconv) eller så kan båda projekten gemensamt utveckla några innovationer. Undantagen som läggs till Apache-licensen tar bort kravet på att citera användningen av originalprodukten vid leverans av binärfiler kompilerade med STL till slutanvändare.

De viktigaste målen för projektet inkluderar full överensstämmelse med specifikationskrav, säkerställande av hög prestanda, användarvänlighet (felsökningsverktyg, diagnostik, feldetektering) och kompatibilitet på källkodsnivå och ABI med tidigare versioner av Visual Studio 2015/2017. Bland de områden som Microsoft inte är intresserade av att utveckla är portering till andra plattformar och tillägg av icke-standardiserade tillägg.

Källa: opennet.ru

Lägg en kommentar