Microsoft otevřel standardní knihovnu C++, která je součástí sady Visual Studio

Na konferenci CppCon 2019, která se koná v těchto dnech, Microsoft oznámil o otevření kódu jeho implementace standardní knihovny C++ (STL, C++ Standard Library), která je součástí sady nástrojů MSVC a vývojového prostředí Visual Studio. Knihovna implementuje funkce popsané v aktuálních standardech C++14 a C++17 a po změnách v aktuálním pracovním návrhu se také vyvíjí směrem k podpoře budoucího standardu C++20. Kód je otevřeno pod licencí Apache 2.0 s výjimkami pro binární soubory, které řeší problém zahrnutí runtime knihoven do generovaných spustitelných souborů.

Vývoj této knihovny se v budoucnu plánuje provádět jako otevřený projekt vyvíjený na GitHubu, přijímající žádosti o stažení od vývojářů třetích stran s opravami a implementací nových funkcí (účast na vývoji vyžaduje podepsání smlouvy CLA o převodu vlastnických práv k převedenému zákoníku). Je třeba poznamenat, že převod vývoje STL na GitHub pomůže zákazníkům Microsoftu sledovat pokrok ve vývoji, experimentovat s nejnovějšími změnami a pomůže kontrolovat příchozí požadavky na přidání inovací.

Open source také umožní komunitě používat hotové implementace funkcí z nových standardů v jiných projektech. Například licence na kód je vybrána tak, aby poskytovala možnost sdílet kód s knihovnou libc++ z projektu LLVM. STL a libc++ se liší ve vnitřní reprezentaci datových struktur, ale pokud je to žádoucí, vývojáři libc++ mohou portovat funkcionalitu, která je zajímavá, z STL (například charconv) nebo mohou oba projekty společně vyvíjet některé inovace. Výjimky přidané do licence Apache odstraňují požadavek citovat použití původního produktu při doručování binárních souborů zkompilovaných s STL koncovým uživatelům.

Mezi klíčové cíle projektu patří plná shoda s požadavky specifikace, zajištění vysokého výkonu, snadné použití (nástroje pro ladění, diagnostika, detekce chyb) a kompatibilita na úrovni zdrojového kódu a ABI s předchozími verzemi Visual Studia 2015/2017. Mezi oblasti, které Microsoft nemá zájem rozvíjet, patří portování na jiné platformy a přidávání nestandardních rozšíření.

Zdroj: opennet.ru

Přidat komentář