Společnost Microsoft vydala standardní kód knihovny C ++, který je v sadě Visual Studio

logo společnosti Microsoft

Logo společnosti Microsoft

Na konferenci CppCon 2019 který se dnes slaví, exponenti Microsoftu využili příležitosti k oznámení otevření kódu pro jeho implementaci ze standardní knihovny C ++ (také známý jako STL), který je součástí sady MSVC Toolkit a vývojového prostředí Visual Studio.

Knihovna implementuje funkce popsané v aktuálních standardech C ++ 14 a C ++ 17, a je také vyvíjen ve směru podpory budoucího standardu C ++ 20 v návaznosti na změny v aktuálním pracovním návrhu.

Podle důvody, proč se lidé ve společnosti Microsoft rozhodli udělat tento krok, v prohlášení vysvětlují:

Existuje několik důvodů, proč to děláme, jedním z nich je práce na STL na GitHubu, což našim zákazníkům umožní sledovat náš vývoj, jak se to děje, testovat naše nejnovější změny a pomáhat nám vylepšovat naše požadavky na vyžádání jejich kontrolou.

Jak se standardizace C ++ zrychluje a každý rok se hlasuje o větších funkcích, myslíme si, že bude důležité přijmout základní funkce jako příspěvky v otevřeném zdroji. (Například formát C ++ 20 a chronologické knihovny jsou potenciálními kandidáty.) Chceme také přispět zpět do komunity C ++ umožněním implementace našich základních funkcí. (Například charconv z C ++ 17)

S tím Lidé z Microsoftu dali najevo, že plánují pokračovat ve vývoji této knihovny jako otevřeného projektu který se vyvíjí na GitHubu, který bude přijímat žádosti o stažení od externích vývojářů s opravami a implementací nových funkcí (k účasti na vývoji je nutná dohoda CLA k převodu vlastnických práv k převedenému kódu).

Je pozorováno, že přenos vývoje z STL na GitHub pomůže zákazníkům Microsoftu sledovat pokrok ve vývoji, experimentovat s nejnovějšími změnami a pomáhat kontrolovat příchozí žádosti o inovace.

Otevřete také kód umožnit komunitě používat hotové implementace příležitosti pro nové standardy v jiných projektech.

O licenci kódu této knihovny, Navrhuje se jako otevřený pod licencí Apache 2.0 s výjimkami pro binární soubory, které řeší problém zahrnutí runtime knihoven do složení generovaných spustitelných souborů.

Aby bylo jasno, MSVC STL se neslučuje s libc ++, protože jsou stále samostatnými knihovnami.

Společnost Microsoft vysvětluje, proč je licence kódu je vybrán takovým způsobem, aby umožňoval výměnu kódu s knihovnou libc ++ projektu LLVM. STL a libc ++ se liší ve vnitřní reprezentaci datových struktur, ale pokud si to přejí, mohou vývojáři libc ++ přenést zajímavé funkce STL (např. Charconv) nebo mohou oba projekty společně vyvinout některé inovace.

MSVC STL je distribuován pod licencí Apache v2.0 s výjimkami LLVM, který byl nedávno vytvořen projektem Clang / LLVM / libc ++.

Výjimky přidané do licence Apache ruší požadavek zmínit použití zdrojového produktu při doručování binárních souborů kompilovaných STL koncovým uživatelům.

Tato povolená licence s otevřeným zdrojovým kódem byla vybrána, protože má stejnou licenci jako libc ++ což usnadní sdílení kódu mezi knihovnami. Aby bylo jasno, MSVC STL není slučován s libc ++; stále jsou to odlišné knihovny, které podporují různé platformy s různými reprezentacemi datové struktury.

Na druhé straně se jeden z klíčových cílů projektu nazývá úplné dodržování požadavků specifikace, zajištění vysokého výkonu, snadné použití (ladění, diagnostika, nástroje pro detekci chyb) a kompatibilita na úrovni zdroje a ABI se staršími verzemi Visual Studio 2015/2017.

Mezi oblasti, které Microsoft nemá zájem na vývoji přenositelnosti na jiné platformy a přidávání vlastních rozšíření.

Pokud se chcete o prohlášení společnosti Microsoft dozvědět více, můžete se s ním poradit Na následujícím odkazu.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Za data odpovídá: AB Internet Networks 2008 SL
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.