Microsoft je otvorio standardnu ​​biblioteku C++ uključenu u Visual Studio

Na konferenciji CppCon 2019 koja se održava ovih dana Microsoft najavio o otvaranju koda njegove implementacije standardne biblioteke C++ (STL, C++ standardna biblioteka), koja je dio alata MSVC i razvojnog okruženja Visual Studio. Knjižnica implementira mogućnosti opisane u trenutnim standardima C++14 i C++17, a također se razvija prema podršci za budući standard C++20, nakon promjena u trenutnom radnom nacrtu. Kodirati otvoren pod licencom Apache 2.0 s iznimkama za binarne datoteke koje rješavaju problem uključivanja runtime biblioteka u generirane izvršne datoteke.

Razvoj ove biblioteke u budućnosti planira se provoditi kao otvoreni projekt razvijen na GitHubu, prihvaćajući zahtjeve za povlačenjem programera trećih strana uz ispravke i implementaciju novih značajki (za sudjelovanje u razvoju potrebno je potpisivanje CLA ugovora o prijenosu prava vlasništva na prenesenom kodu). Napominje se da će prijenos STL razvoja na GitHub pomoći Microsoftovim korisnicima da prate napredak razvoja, eksperimentiraju s najnovijim promjenama i pomognu u pregledu dolaznih zahtjeva za dodavanjem inovacija.

Otvoreni kod će također omogućiti zajednici korištenje gotovih implementacija značajki iz novih standarda u drugim projektima. Na primjer, licenca za kod odabrana je da pruži mogućnost dijeljenja koda s knjižnicom libc++ iz projekta LLVM. STL i libc++ razlikuju se u internom predstavljanju struktura podataka, ali po želji libc++ programeri mogu prenijeti funkcionalnost od interesa iz STL-a (na primjer, charconv) ili oba projekta mogu zajednički razviti neke inovacije. Iznimke dodane Apache licenci uklanjaju zahtjev za navođenjem upotrebe izvornog proizvoda kada se krajnjim korisnicima isporučuju binarne datoteke kompajlirane pomoću STL-a.

Ključni ciljevi projekta uključuju potpunu usklađenost sa zahtjevima specifikacije, osiguravanje visokih performansi, jednostavnost korištenja (alati za otklanjanje pogrešaka, dijagnostika, otkrivanje grešaka) i kompatibilnost na razini izvornog koda i ABI-ja s prethodnim izdanjima Visual Studio 2015/2017. Među područjima za koja Microsoft nije zainteresiran za razvoj su prijenos na druge platforme i dodavanje nestandardnih proširenja.

Izvor: opennet.ru

Dodajte komentar