Microsoft пусна кода от внедряването на STL, стандартната библиотека на C ++

STL отворен източник

Конференцията CppCon 2019 беше мястото, където реализацията на голямо съобщение от Microsoft, добре в нея представи изданието на изходния код на библиотеката STL Стандартът C ++, включен в Visual C ++, който към момента на съобщението е наличен под безплатен лиценз, по-специално Apache 2.0 (което е доста разрешително).

libcxx, стандартната библиотека LLVM / Clang C ++, вече използва този лиценз, което трябва да улесни обмена на кодове между проекти. Целият изходен код за тази библиотека е достъпен и компилируем с Visual C ++, но тестването все още не е включено.

Очаква се отвореният проект да се развие на GitHub и да получава заявки за изтегляне трета страна с нови функции и кръпки. За да станете член, трябва да подпишете споразумение за прехвърляне на CLA код.

Екипът на MSVC вярва, че миграцията от STL към GitHub ще помогне на клиентите на Microsoft да останат в течение на процеса на разработка, да експериментират с иновации и да помогнат за разработването на проекта.

Вместо това, разработчиците ще могат да използват внедрените внедрения на новите стандарти в други проекти.

Например можете да обменяте код с библиотека libc ++, която работи в рамките на проекта LLVM. Microsoft подчертава, че STL и libc ++ не се сливат, те все още са различни библиотеки, с различни структури и платформи. Сега обаче можете да работите по нови функции и за двете библиотеки, без да се притеснявате за лицензиране

Това изпълнение на стандартната библиотека не е предназначено да се конкурира с внедренията, предоставени от GCC или Clang, например: проектът на Microsoft не планира да поддържа други платформи освен Microsoft.

Разработчиците обаче се стремят към висококачествено изпълнение: отговарящо на стандартите и много бързо.

Бинарната съвместимост е гарантирана с Visual C ++ версии 2015 и 2017 (Тази библиотека е тази, предоставена с версията за 2019 г.), с изключение на функциите, които са внедрени преди финализирането на стандарта (работни документи и технически спецификации Комитетът по стандартизация C ++).

Клонът WCBF02 (все още вътрешен за Microsoft) съдържа несъвместими промени на двоично ниво, но не и на ниво източник (за стандартна актуализация на библиотеката ще трябва да прекомпилирате вашите проекти, а не само да промените DLL). Този клон съдържа редица подобрения и поправки и скоро ще бъде публично достъпен.

За разлика от някои проекти, описани като безплатни, Microsoft препоръчва да се докладват дефекти и да се допринася за кода на проекта (В този случай ще е необходимо да подпишете CLA, за да предоставите на Microsoft необходимите права за преразпределение на вноските, особено в случай, че лицензът за проект се промени, трудност, пред която LLVM се сблъсква в продължение на няколко години).

В близко бъдеще, Microsoft трябва да добави своя вътрешен тестов пакет към проекта. Вътрешно ескалираният списък с грешки се мигрира към GitHub. В момента компилацията се извършва с MSBuild, но миграцията към CMake е в ход. Внедрена е функционалността на C ++ 20.

Други компоненти на Visual C ++ не трябва да бъдат достъпни за безплатни лицензи. Microsoft обосновава този избор, като заявява, че стандартната библиотека C ++ е доста независима от компилатора (за разлика от стандартната библиотека C например) и че тя се развива много бързо в сравнение с други компоненти на компилатора.

Изходният код на STL се намира вече на разположение на Github където заинтересованите лица ще могат да го изтеглят или да могат да разглеждат кода му.

Хранилището GitHub има целия изходен код за продукта, нова система за изграждане на CMake и README с повече информация. Библиотеката е лицензирана под лиценза Apache 2.0 (с изключение на някои двоични файлове).

очевидно е, че това не засяга разработчиците, които просто искат да използват STL, тъй като е достъпен за използване в Visual Studio IDE. Разработчиците, които искат да участват в разработването на STL, могат да го направят, използвайки хранилището на GitHub.

Преминаването към GitHub все още е в ход, но вече можете да клонирате и да изградите своя код.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.