Microsoft ujawnia kod standardowej biblioteki C++ dostarczanej w Visual Studio

Na konferencji CppCon 2019, która odbywa się w tych dniach, firma Microsoft ogłosiła ogłosiła otwarcie kodu swojej realizacji standardowej biblioteki C++ (STL, C++ Standard Library), która jest częścią narzędzi MSVC oraz środowiska programistycznego Visual Studio. Biblioteka realizuje możliwości opisane w aktualnych standardach C++14 i C++17, a także rozwija się w kierunku wsparcia przyszłego standardu C++20, podążając za zmianami w obecnym roboczym szkicu. Kod otwarty jest objęty licencją Apache 2.0 z wyjątkami dla plików binarnych, które rozwiązują problem z dołączaniem bibliotek runtime do tworzonych plików wykonywalnych.

Rozwój tej biblioteki planuje się prowadzić jako rozwijany na GitHub projekty otwartego, przyjmujące od zewnętrznych programistów pull-requesty z poprawkami i realizacją nowych możliwości (do udziału w rozwoju wymagana jest podpisanie umowy CLA o przeniesieniu praw majątkowych na przekazywany kod). Zaznacza się, że przeniesienie rozwoju STL na GitHub pomoże klientom Microsoft śledzić postępy rozwoju, eksperymentować z najnowszymi zmianami i pomagać w recenzowaniu nadchodzących próśb o dodanie innowacji.

Otwarcie kodu pozwoli również społeczności wykorzystać gotowe realizacje możliwości z nowych standardów w innych projektach. Na przykład, wybrano licencję na kod, aby umożliwić wymianę kodu z biblioteką libc++ z projektu LLVM. STL i libc++ różnią się wewnętrzną reprezentacją struktur danych, ale w razie potrzeby programiści libc++ mogą przenieść interesującą funkcjonalność z STL (na przykład charconv) lub oba projekty wspólnie mogą rozwijać jakieś innowacje. Dodane do licencji Apache wyjątki znoszą wymagania dotyczące wzmianki o użyciu oryginalnego produktu przy dostarczaniu końcowym użytkownikom plików binarnych skompilowanych z STL.

Wśród kluczowych celów projektu wymienia się pełne przestrzeganie wymagań specyfikacji, zapewnienie wysokiej wydajności, łatwość użycia (narzędzia debugowania, diagnostyki, wykrywania błędów) oraz kompatybilność na poziomie kodu źródłowego i ABI z wcześniejszymi wydaniami Visual Studio 2015/2017. Wśród obszarów, które Microsoft nie planuje rozwijać, wymienia się przeniesienie na inne platformy oraz dodawanie niestandardowych rozszerzeń.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster