„Microsoft“ išleido standartinį „C ++“ bibliotekos kodą, kuris yra „Visual Studio“

„Microsoft“ logotipas

„Microsoft“ logotipas

„CppCon 2019“ konferencijoje kuris buvo švenčiamas šiomis dienomis, „Microsoft“ atstovai pasinaudojo proga paskelbti apie kodo atidarymą jos įgyvendinimui iš C ++ standartinės bibliotekos (taip pat žinomas kaip STL), kuris yra „MSVC Toolkit“ ir „Visual Studio“ kūrimo aplinkos dalis.

Biblioteka įgyvendina galimybes, aprašytas dabartiniuose C ++ 14 ir C ++ 17 standartuose, ir ji taip pat plėtojama siekiant palaikyti būsimą C ++ 20 standartą, atsižvelgiant į dabartinio darbo projekto pakeitimus.

Pagal priežastys, kodėl „Microsoft“ žmonės nusprendė atlikti šį žingsnį, pareiškime jie paaiškina:

Yra keletas priežasčių, kodėl tai darome, viena iš jų yra dirbti su „GitHub“ STL. Tai leis mūsų klientams stebėti mūsų plėtrą, kaip tai vyksta, išbandyti naujausius pakeitimus ir padėti mums patobulinti užklausas juos peržiūrint.

Spartėjant C ++ standartizacijai ir kiekvienais metais balsuojant už didesnes funkcijas, manome, kad bus svarbu pagrindines savybes priimti kaip atvirojo šaltinio indėlį. (Pvz., C ++ 20 formatas ir chronologinės bibliotekos yra potencialūs kandidatai.) Mes taip pat norime prisidėti prie C ++ bendruomenės, suteikdami galimybę įgyvendinti mūsų pagrindines funkcijas. (Pavyzdžiui, charconv iš C ++ 17)

Su tuo „Microsoft“ žmonės pranešė, kad planuoja toliau plėtoti šią biblioteką kaip atvirą projektą kuris yra kuriamas „GitHub“, kuris priims išorinių kūrėjų užklausas su taisymais ir naujų funkcijų įgyvendinimu (norint dalyvauti kūrime, reikalinga CLA sutartis, kad nuosavybės teisės būtų perkeltos į kodą).

Pastebima, kad plėtros perkėlimas iš STL į „GitHub“ padės „Microsoft“ klientams stebėti kūrimo pažangą, eksperimentuoti su naujausiais pakeitimais ir padėti peržiūrėti gaunamus naujovių prašymus.

Taip pat atidarykite kodą leisti bendruomenei naudoti paruoštus diegimus naujų standartų galimybes kituose projektuose.

Apie šios bibliotekos kodo licenciją, Siūloma kaip atvira pagal „Apache 2.0“ licenciją, išskyrus dvejetainius failus, kurie išsprendžia problemą dėl vykdymo laiko bibliotekų įtraukimo į sukurtų vykdomųjų failų sudėtį.

Kad būtų aišku, MSVC STL nėra sujungiama su „libc ++“, nes jos vis dar yra atskiros bibliotekos.

„Microsoft“ paaiškina kodo licencijos priežastis yra pasirinktas taip, kad būtų galima pakeisti kodą su LLVM projekto libc ++ biblioteka. STL ir „libc ++“ skiriasi dėl vidinio duomenų struktūrų atvaizdavimo, tačiau, jei nori, „libc ++“ kūrėjai gali perkelti įdomias STL funkcijas (pvz., „Charconv“) arba abu projektai gali kartu sukurti kai kurias naujoves.

MSVC STL platinamas pagal „Apache v2.0“ licenciją su LLVM išimtimis, kurią neseniai sukūrė „Clang / LLVM / libc ++“ projektas.

Išimtys, pridėtos prie „Apache“ licencijos, panaikina reikalavimą paminėti šaltinio produkto naudojimą pristatant STL sukompiliuotus dvejetainius failus galutiniams vartotojams.

Ši leistina atvirojo kodo licencija buvo pasirinkta, nes ji turi tą pačią licenciją kaip „libc ++“ o tai palengvins kodo bendrinimą tarp bibliotekų. Kad būtų aiškiau, MSVC STL nėra sujungiama su libc ++; tai vis dar yra atskiros bibliotekos, palaikančios skirtingas platformas su skirtingais duomenų struktūros vaizdais.

Kita vertus, vienas pagrindinių projekto tikslų vadinamas visišku reikalavimų laikymusi specifikacijas, užtikrinančias aukštą našumą, paprastą naudojimą (derinimo, diagnostikos, klaidų aptikimo įrankius) ir šaltinio bei ABI suderinamumą su ankstesnėmis „Visual Studio 2015/2017“ versijomis.

Tarp sričių, kad „Microsoft“ nėra suinteresuota kurti perkeliamumą į kitas platformas ir pridėti pasirinktinius plėtinius.

Jei norite sužinoti daugiau apie „Microsoft“ pateiktą pareiškimą, galite su juo susipažinti Šioje nuorodoje.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Už duomenis atsakingas: AB Internet Networks 2008 SL
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.