Microsoftova odprtokodna standardna knjižnica C++, vključena v Visual Studio

Na konferenci CppCon 2019, ki poteka te dni, Microsoft napovedal o odpiranju kode njegove implementacije standardne knjižnice C++ (STL, C++ Standard Library), ki je del kompleta orodij MSVC in razvojnega okolja Visual Studio. Knjižnica izvaja zmožnosti, opisane v trenutnih standardih C++14 in C++17, razvija pa se tudi v smeri podpore za prihodnji standard C++20 po spremembah v trenutnem delovnem osnutku. Koda odprto pod licenco Apache 2.0 z izjemami za binarne datoteke, ki rešujejo problem vključitve izvajalnih knjižnic v ustvarjene izvršljive datoteke.

Načrtuje se, da bo razvoj te knjižnice v prihodnosti potekal kot odprt projekt, razvit na GitHubu, ki bo sprejemal zahteve za vleko od zunanjih razvijalcev s popravki in implementacijo novih funkcij (za sodelovanje pri razvoju je potreben podpis pogodbe CLA o prenosu lastninske pravice do prenesene kode). Opozoriti je treba, da bo prenos razvoja STL na GitHub pomagal Microsoftovim strankam spremljati napredek razvoja, eksperimentirati z najnovejšimi spremembami in pomagati pregledati dohodne zahteve za dodajanje inovacij.

Odprta koda bo skupnosti tudi omogočila uporabo že pripravljenih implementacij funkcij iz novih standardov v drugih projektih. Na primer, licenca za kodo je izbrana tako, da omogoča skupno rabo kode s knjižnico libc++ iz projekta LLVM. STL in libc++ se razlikujeta v notranji predstavitvi podatkovnih struktur, vendar lahko po želji razvijalci libc++ prenesejo zanimivo funkcionalnost iz STL (na primer charconv) ali pa lahko oba projekta skupaj razvijeta nekaj inovacij. Izjeme, dodane licenci Apache, odpravljajo zahtevo po navedbi uporabe izvirnega izdelka pri dostavi binarnih datotek, prevedenih s STL, končnim uporabnikom.

Ključni cilji projekta vključujejo popolno skladnost s specifikacijskimi zahtevami, zagotavljanje visoke zmogljivosti, enostavnost uporabe (orodja za odpravljanje napak, diagnostika, odkrivanje napak) in združljivost na ravni izvorne kode in ABI s prejšnjimi izdajami Visual Studio 2015/2017. Med področji, ki jih Microsoft ne zanima, so prenos na druge platforme in dodajanje nestandardnih razširitev.

Vir: opennet.ru

Dodaj komentar