Microsoft відкрив код стандартної бібліотеки С++, що постачається у Visual Studio

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

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

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

З ключових цілей проекту називається повна відповідність вимогам специфікацій, забезпечення високої продуктивності, зручність використання (засоби налагодження, діагностики, виявлення помилок) та сумісність на рівні вихідних текстів та ABI з минулими випусками Visual Studio 2015/2017. Серед областей, які Microsoft не зацікавлена ​​розвивати, відзначаються портування на інші платформи та додавання нестандартних розширень.

Джерело: opennet.ru

Додати коментар або відгук