Microsoft отвори кода на стандартната библиотека на C++, доставяна с Visual Studio

На провеждащата се конференция CppCon 2019, компанията Microsoft обяви обяви отварянето на кода на своята имплементация на стандартната библиотека C++ (STL, C++ Standard Library), която е част от инструментария MSVC и средата за разработка Visual Studio. Библиотеката реализира възможности, описани в актуалните стандарти C++14 и C++17, и също така се развива в посока поддръжка на бъдещия стандарт C++20, следвайки промените в текущия работен проект. Кодът е отворен е под лиценция Apache 2.0 с изключения за бинарни файлове, разрешаващи проблема с включването на библиотеките в режим на работа в изгражданите изпълними файлове.

Разработката на тази библиотека в бъдеще се планира да се извършва като отворен проект, развиван в GitHub, който приема pull-заявки от външни разработчици с корекции и нови възможности (за участие в разработката е необходимо подписване на споразумение за прехвърляне на имуществени права върху предоставения код). Посочва се, че прехвърлянето на разработката на STL в GitHub ще помогне на клиентите на Microsoft да следят напредъка на разработката, да експериментират с най-новите промени и да помагат в рецензирането на постъпващите заявки за добавяне на нововъведения.

Отварянето на кода също така ще позволи на общността да използва готови реализации на възможностите от новите стандарти в други проекти. Например, лицензът на кода е избран по такъв начин, че да предостави възможност за обмен на код с библиотеката libc++ от проекта LLVM. STL и libc++ се различават по вътрешното представяне на структурите от данни, но разработчиците на libc++ могат да пренесат желаната функционалност от STL (например, charconv) или и двата проекта заедно могат да развиват някои нововъведения. Добавените в лиценза Apache изключения отменят изискванията за споменаване на използването на първоначалния продукт при доставката на крайни потребители на бинарни файлове, компилирани с STL.

Като ключова цел на проекта е посочено пълното съответствие на изискванията на спецификациите, осигуряване на висока производителност, удобство на използването (инструменти за отстраняване на грешки, диагностика, откриване на бъгове) и съвместимост на ниво изходен код и ABI с предишни версии на Visual Studio 2015/2017. Сред областите, в които Microsoft не е заинтересована да се развива, са портироването на други платформи и добавянето на нестандартни разширения.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster