Microsoft je izdal standardno kodo knjižnice C ++, ki je v Visual Studio

Microsoftov logotip

Microsoftov logotip

Na konferenci CppCon 2019 ki se praznuje te dni, predstavniki Microsofta so izkoristili priložnost in napovedali odprtje kode za njegovo izvajanje iz standardne knjižnice C ++ (znan tudi kot STL), ki je del zbirke orodij MSVC in razvojnega okolja Visual Studio.

Knjižnica izvaja zmožnosti, opisane v veljavnih standardih C ++ 14 in C ++ 17, razvit pa je tudi v smeri podpore prihodnjemu standardu C ++ 20, po spremembah v trenutnem delovnem osnutku.

Z razlogi, zakaj so se ljudje v Microsoftu odločili za to potezo, v izjavi pojasnjujejo:

Obstaja več razlogov, zakaj to počnemo, eden izmed njih je delo na STL na GitHubu, kar bo našim strankam omogočilo, da spremljajo naš razvoj, preizkusijo najnovejše spremembe in nam pomagajo izboljšati zahteve za vlečenje s pregledom.

Ker se standardizacija C ++ pospešuje in se vsako leto glasuje o večjih funkcijah, menimo, da je pomembno sprejeti osnovne funkcije kot odprtokodne prispevke. (Na primer potencialni kandidati so format C ++ 20 in kronološke knjižnice.) Prav tako želimo prispevati nazaj k skupnosti C ++ z omogočanjem izvajanja naših osnovnih funkcij. (Na primer charconv iz C ++ 17)

S tem Microsoft-ovci so dali vedeti, da nameravajo to knjižnico še naprej razvijati kot odprt projekt ki se razvija na GitHub, ki bo sprejemal zahteve za vlečenje zunanjih razvijalcev s popravki in izvajanjem novih funkcij (za sodelovanje v razvoju je potreben sporazum CLA za prenos lastninskih pravic na preneseno kodo).

Opaziti je, da prenos razvoja iz STL v GitHub bo Microsoftovim kupcem pomagal spremljati razvojni napredek, eksperimentirati z najnovejšimi spremembami in pomagati pri pregledu dohodnih zahtev za inovacije.

Odprite tudi kodo omogoči skupnosti, da uporablja že pripravljene izvedbe priložnosti za nove standarde pri drugih projektih.

Glede licence kode te knjižnice, Predlaga se kot odprt pod licenco Apache 2.0 z izjemami za binarne datoteke, ki rešujejo problem vključevanja izvajalnih knjižnic v sestavo ustvarjenih izvršljivih datotek.

Da bo jasno, MSVC STL se ne združuje z libc ++, saj sta še vedno ločeni knjižnici.

Microsoft pojasnjuje, zakaj licenca kode izbran je tako, da omogoča izmenjavo kode s knjižnico libc ++ projekta LLVM. STL in libc ++ se razlikujeta po notranji zastopanosti podatkovnih struktur, toda po želji lahko razvijalci libc ++ izvajajo zanimive funkcionalnosti STL (npr. Charconv) ali pa oba projekta skupaj razvijeta nekaj novosti.

MSVC STL se distribuira pod licenco Apache v2.0 z izjemami LLVM, ki jo je nedavno ustvaril projekt Clang / LLVM / libc ++.

Izjeme, dodane licenci Apache, prekličejo zahtevo po omembi uporabe izvornega izdelka pri dostavi končnih uporabnikov sestavljenih binarnih datotek STL.

Ta dovoljena odprtokodna licenca je bila izbrana, ker ima enako licenco kot libc ++ kar bo olajšalo skupno rabo kode med knjižnicami. Da bi bilo jasno, MSVC STL ni združen z libc ++; še vedno so ločene knjižnice, ki podpirajo različne platforme z različnimi predstavitvami podatkovne strukture.

Po drugi strani pa se eden ključnih ciljev projekta imenuje popolna skladnost z zahtevami specifikacije, ki zagotavljajo visoko zmogljivost, enostavnost uporabe (odpravljanje napak, diagnostika, orodja za odkrivanje napak) ter združljivost virov in ravni ABI s prejšnjimi različicami Visual Studio 2015/2017.

Med področji, ki Microsofta ne zanima razvoj prenosljivosti na druge platforme in dodajanje razširitev po meri.

Če želite izvedeti več o izjavi Microsofta, se lahko posvetujete z njo V naslednji povezavi.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Odgovoren za podatke: AB Internet Networks 2008 SL
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.