Microsoft lëshoi ​​kodin standard të bibliotekës C ++ që është në Visual Studio

logo e Microsoft

Logoja e Microsoft-it

Në konferencën CppCon 2019 që është festuar këto ditë, eksponentët e Microsoft shfrytëzuan rastin për të bërë njoftimin për hapjen e kodit për zbatimin e tij nga Biblioteka Standarde C ++ (e njohur edhe si STL), e cila është pjesë e MSVC Toolkit dhe mjedisit të zhvillimit Visual Studio.

Biblioteka zbaton aftësitë e përshkruara në standardet aktuale C ++ 14 dhe C ++ 17, dhe gjithashtu është zhvilluar në drejtim të mbështetjes së standardit të ardhshëm C ++ 20, pas ndryshimeve në draftin aktual të punës.

Nga arsyet pse njerëzit në Microsoft kanë vendosur ta bëjnë këtë lëvizje, në deklaratë ata shpjegojnë:

Ka disa arsye pse e bëjmë këtë, njëra prej tyre është të punojmë në STL në GitHub, kjo do t'ju lejojë klientëve tanë të ndjekin zhvillimin tonë siç ndodh, të testojnë ndryshimet tona më të fundit dhe të na ndihmojnë të përmirësojmë kërkesat tona për tërheqje duke i shqyrtuar ato.

Ndërsa standardizimi i C ++ përshpejtohet, dhe tiparet më të mëdha votohen çdo vit, ne mendojmë se do të jetë e rëndësishme të pranojmë tiparet thelbësore si kontribute me burim të hapur. (Për shembull, formati C ++ 20 dhe bibliotekat kronologjike janë kandidatë të mundshëm.) Ne gjithashtu duam të kontribuojmë në komunitetin C ++ duke bërë të mundur zbatimin e funksioneve tona thelbësore. (Për shembull, charconv nga C ++ 17)

Me atë Njerëzit e Microsoft bëjnë të ditur se ata planifikojnë të vazhdojnë zhvillimin e kësaj biblioteke si një projekt të hapur e cila është duke u zhvilluar në GitHub që do të pranojë kërkesa tërheqëse nga zhvilluesit e jashtëm me rregullime dhe zbatimin e veçorive të reja (për të marrë pjesë në zhvillim, kërkohet një marrëveshje CLA për të transferuar të drejtat e pronësisë në kodin e transferuar).

Observedshtë vërejtur se transferimi i zhvillimit nga STL në GitHub do të ndihmojë klientët e Microsoft të gjurmoni progresin e zhvillimit, eksperimentoni me ndryshimet e fundit dhe ndihmoni në rishikimin e kërkesave hyrëse për inovacione.

Hapni edhe kodin lejoni komunitetin të përdorë implementime të gatshme mundësi për standarde të reja në projekte të tjera.

Rreth licencës së kodit të kësaj biblioteke, Proposedshtë propozuar si i hapur nën licencën Apache 2.0 me përjashtime për skedarët binarë që zgjidhin problemin e përfshirjes së bibliotekave të ekzekutimit në përbërjen e skedarëve të ekzekutueshëm të gjeneruar.

Të jem i qartë, MSVC STL nuk po bashkohet me libc ++ pasi ato janë akoma biblioteka të ndara.

Microsoft shpjegon pse licenca e kodit zgjidhet në mënyrë të tillë që të lejojë ndërrimin e kodit me bibliotekën libc ++ të projektit LLVM. STL dhe libc ++ ndryshojnë në përfaqësimin e brendshëm të strukturave të të dhënave, por nëse ata dëshirojnë, zhvilluesit e libc ++ mund të sjellin funksionalitete interesante të STL (p.sh. charconv) ose të dy projektet mund të zhvillojnë së bashku disa risi.

MSVC STL shpërndahet nën licencën Apache v2.0 me përjashtime LLVM, e cila është krijuar së fundmi nga projekti Clang / LLVM / libc ++.

Përjashtimet e shtuara në licencën Apache anulojnë kërkesën për të përmendur përdorimin e produktit burimor kur dorëzohen binarët e përpiluar nga STL te përdoruesit përfundimtarë.

Kjo licencë lejuese e burimit të hapur u zgjodh sepse kishte të njëjtën licencë si libc ++ gjë që do ta bëjë më të lehtë ndarjen e kodit midis bibliotekave. Për të qenë të qartë, MSVC STL nuk po bashkohet me libc ++; ato janë akoma biblioteka të dallueshme që mbështesin platforma të ndryshme me paraqitje të ndryshme të strukturës së të dhënave.

Nga ana tjetër, një nga objektivat kryesorë të projektit quhet pajtueshmëri e plotë me kërkesat specifikimet, duke siguruar performancë të lartë, lehtësinë e përdorimit (korrigjimin e gabimeve, diagnostikimin, mjetet e zbulimit të gabimeve) dhe pajtueshmërinë e nivelit të burimit dhe ABI me versionet e mëparshme të Visual Studio 2015/2017.

Ndër fushat që Microsoft nuk është i interesuar të zhvillojë transportueshmëri në platforma të tjera dhe shtimin e zgjerimeve të personalizuara.

Nëse doni të dini më shumë rreth deklaratës së bërë nga Microsoft, mund ta konsultoheni Në lidhjen vijuese.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: AB Internet Networks 2008 SL
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.