Microsoft open source biblioteca standard C++ inclusă cu Visual Studio

La conferința CppCon 2019 care are loc în aceste zile, Microsoft a anunțat despre deschiderea codului implementării sale a Bibliotecii standard C++ (STL, C++ Standard Library), care face parte din setul de instrumente MSVC și din mediul de dezvoltare Visual Studio. Biblioteca implementează capabilitățile descrise în standardele actuale C++14 și C++17 și, de asemenea, evoluează către suport pentru viitorul standard C++20, ca urmare a modificărilor aduse actualului proiect de lucru. Cod deschis sub licența Apache 2.0 cu excepții pentru fișierele binare care rezolvă problema includerii bibliotecilor de execuție în fișierele executabile generate.

Dezvoltarea acestei biblioteci în viitor este planificată să fie realizată ca un proiect deschis dezvoltat pe GitHub, acceptând solicitări de extragere de la dezvoltatori terți cu corecții și implementarea de noi funcții (participarea la dezvoltare necesită semnarea unui acord CLA privind transferul). a drepturilor de proprietate asupra codului transferat). Se remarcă faptul că transferul dezvoltării STL către GitHub îi va ajuta pe clienții Microsoft să urmărească progresul dezvoltării, să experimenteze cu cele mai recente modificări și să îi ajute să revizuiască cererile primite pentru adăugarea de inovații.

Open Source va permite, de asemenea, comunității să folosească implementări gata făcute ale caracteristicilor din noile standarde în alte proiecte. De exemplu, licența de cod este aleasă pentru a oferi posibilitatea de a partaja codul cu biblioteca libc++ din proiectul LLVM. STL și libc++ diferă în reprezentarea internă a structurilor de date, dar, dacă se dorește, dezvoltatorii libc++ pot porta funcționalitatea de interes din STL (de exemplu, charconv) sau ambele proiecte pot dezvolta împreună unele inovații. Excepțiile adăugate la licența Apache elimină cerința de a cita utilizarea produsului original la livrarea binarelor compilate cu STL către utilizatorii finali.

Obiectivele cheie ale proiectului includ conformitatea deplină cu cerințele specificațiilor, asigurarea performanței ridicate, ușurința în utilizare (instrumente de depanare, diagnosticare, detectarea erorilor) și compatibilitatea la nivel de cod sursă și ABI cu versiunile anterioare ale Visual Studio 2015/2017. Printre domeniile pe care Microsoft nu este interesat să le dezvolte se numără portarea pe alte platforme și adăugarea de extensii non-standard.

Sursa: opennet.ru

Adauga un comentariu