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

лого на Microsoft

Лого на Microsoft

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

Библиотеката изпълнява възможностите, описани в настоящите стандарти C ++ 14 и C ++ 17, и също така е разработен в посока на подкрепа на бъдещия стандарт C ++ 20, след промяната в текущия работен проект.

От причините, поради които хората в Microsoft са решили да направят този ход, в изявлението те обясняват:

Има няколко причини, поради които правим това, една от тях е да работим върху STL на GitHub, това ще позволи на нашите клиенти да следят развитието ни, както се случва, да тестват последните ни промени и да ни помогнат да подобрим нашите заявки за изтегляне, като ги прегледаме.

Тъй като стандартизацията на C ++ се ускорява и всяка година се гласуват по-големи функции, смятаме, че ще бъде важно да приемем основните характеристики като принос с отворен код. (Например, C ++ 20 форматът и хронологичните библиотеки са потенциални кандидати.) Също така искаме да допринесем за C ++ общността, като направим възможно изпълнението на нашите основни функции. (Например charconv от C ++ 17)

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

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

Отворете и кода позволяват на общността да използва готови реализации възможности за нови стандарти в други проекти.

Относно лиценза на кода на тази библиотека, Предлага се като отворен под лиценза Apache 2.0 с изключения за двоични файлове, които решават проблема с включването на библиотеки по време на изпълнение в състава на генерираните изпълними файлове.

За да бъде ясно, MSVC STL не се слива с libc ++, тъй като те все още са отделни библиотеки.

Microsoft обяснява защо лицензът за код е избран по такъв начин, че да позволява обмен на код с библиотеката 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 не се интересува от разработването на преносимост към други платформи и добавяне на персонализирани разширения.

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


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

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

*

*

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