Microsoft випустила стандартний код бібліотеки C ++, який знаходиться у Visual Studio

логотип Microsoft

Логотип Microsoft

На конференції CppCon 2019 що святкується в ці дні, представники Microsoft скористались можливістю, щоб оголосити про відкриття коду для його здійснення зі стандартної бібліотеки C ++ (також відомий як STL), який є частиною набору інструментів MSVC та середовища розробки Visual Studio.

Бібліотека реалізує можливості, описані в чинних стандартах C ++ 14 та C ++ 17, і він також розроблений у напрямку підтримки майбутнього стандарту C ++ 20 після змін у поточному робочому проекті.

За причини, чому люди в Microsoft вирішили зробити цей крок, у заяві вони пояснюють:

Є кілька причин, чому ми робимо це, одна з них - це робота над STL на GitHub, це дозволить нашим клієнтам стежити за нашим розвитком, як це відбувається, тестувати наші останні зміни та допомагати нам покращувати наші запити на витяг, переглядаючи їх.

Оскільки стандартизація С ++ прискорюється, і щороку голосуються більші функції, ми вважаємо важливим прийняти основні функції як внески з відкритим кодом. (Наприклад, потенційними кандидатами є формат C ++ 20 та хронологічна бібліотека.) Ми також хочемо внести свій внесок у спільноту С ++, зробивши можливим реалізацію наших основних функцій. (Наприклад, charconv із C ++ 17)

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

Помічено, що передача розробки зі STL на GitHub допоможе клієнтам Microsoft Відстежуйте розвиток, експериментуйте з останніми змінами та допомагайте переглядати вхідні запити на інновації.

Також відкрийте код дозволити спільноті використовувати готові реалізації можливості для нових стандартів в інших проектах.

Про ліцензію коду цієї бібліотеки, Пропонується як відкритий за ліцензією Apache 2.0 за винятком двійкових файлів, які вирішують проблему включення бібліотек виконання до складу згенерованих виконуваних файлів.

Щоб бути зрозумілим, MSVC STL не зливається з libc ++, оскільки вони все ще є окремими бібліотеками.

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

MSVC STL поширюється за ліцензією Apache v2.0 за винятками LLVM, яка нещодавно була створена проектом Clang / LLVM / libc ++.

Винятки, додані до ліцензії Apache, скасовують вимогу згадувати використання вихідного продукту при доставці скомпільованих STL двійкових файлів кінцевим користувачам.

Цю дозвільну ліцензію з відкритим кодом було обрано, оскільки вона має таку саму ліцензію, як libc ++ що полегшить обмін кодом між бібліотеками. Щоб бути зрозумілим, MSVC STL не об’єднується з libc ++; вони все ще є окремими бібліотеками, які підтримують різні платформи з різними представленнями структури даних.

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

Серед областей, які Microsoft не зацікавлена ​​у розробці переносимості на інші платформи та додаванні власних розширень.

Якщо ви хочете дізнатись більше про заяву, зроблену корпорацією Майкрософт, ви можете проконсультуватися з нею У наступному посиланні.


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.