Microsoft je otvorio kod za C++ standardnu ​​biblioteku koja dolazi sa Visual Studio-om

Na konferenciji CppCon 2019 koja se ovih dana održava, Microsoft najavljeno o otvaranju koda njegove implementacije C++ standardne biblioteke (STL, C++ Standardna biblioteka), koja je dio MSVC alata i razvojnog okruženja Visual Studio. Biblioteka implementira mogućnosti opisane u trenutnim C++14 i C++17 standardima, a takođe se razvija ka podršci za budući C++20 standard, nakon promjena u trenutnom radnom nacrtu. Kod otvoren pod licencom Apache 2.0 sa izuzecima za binarne fajlove koji rešavaju problem uključivanja biblioteka vremena izvršavanja u generisane izvršne datoteke.

Planirano je da se razvoj ove biblioteke u budućnosti odvija kao otvoreni projekat razvijen na GitHub-u, koji prihvata zahteve za povlačenje od strane programera trećih strana sa ispravkama i implementacijom novih funkcija (učešće u razvoju zahteva potpisivanje CLA ugovora o prenosu imovinskih prava na prenesenom kodu). Napominje se da će transfer STL razvoja na GitHub pomoći Microsoftovim korisnicima da prate napredak razvoja, eksperimentišu s najnovijim promjenama i pomoći pri pregledu pristiglih zahtjeva za dodavanjem inovacija.

Otvoreni kod će također omogućiti zajednici da koristi gotove implementacije funkcija iz novih standarda u drugim projektima. Na primjer, licenca koda je odabrana da pruži mogućnost dijeljenja koda s bibliotekom libc++ iz LLVM projekta. STL i libc++ se razlikuju po internom predstavljanju struktura podataka, ali ako žele, libc++ programeri mogu prenijeti funkcionalnost od interesa iz STL-a (na primjer, charconv) ili oba projekta mogu zajednički razviti neke inovacije. Izuzeci dodani Apache licenci uklanjaju zahtjev da se navede upotreba originalnog proizvoda pri isporuci binarnih datoteka kompajliranih sa STL-om krajnjim korisnicima.

Ključni ciljevi projekta uključuju potpunu usklađenost sa zahtjevima specifikacije, osiguravanje visokih performansi, jednostavnost korištenja (alati za otklanjanje grešaka, dijagnostika, otkrivanje grešaka) i kompatibilnost na nivou izvornog koda i ABI-ja sa prethodnim izdanjima Visual Studio 2015/2017. Među oblastima za koje Microsoft nije zainteresovan za razvoj su prenošenje na druge platforme i dodavanje nestandardnih ekstenzija.

izvor: opennet.ru

Dodajte komentar