Microsoft je objavio standardni C ++ knjižnični kod koji se nalazi u Visual Studiju

Microsoftov logotip

Microsoftov logotip

Na konferenciji CppCon 2019 koja se slavi ovih dana, eksponenti Microsofta iskoristili su priliku i najavili otvaranje koda za njegovu provedbu iz C ++ standardne biblioteke (poznat i kao STL), koji je dio MSVC Toolkita i razvojnog okruženja Visual Studija.

Knjižnica implementira mogućnosti opisane u trenutnim standardima C ++ 14 i C ++ 17, a također je razvijen u smjeru podrške budućem standardu C ++ 20, slijedeći promjene u trenutnom radnom nacrtu.

po razlozi zašto su se ljudi iz Microsofta odlučili na ovaj potez, u izjavi objašnjavaju:

Postoji nekoliko razloga zašto to radimo, jedan od njih je rad na STL-u na GitHub-u, što će našim kupcima omogućiti da prate naš razvoj kako se događa, testiraju naše najnovije promjene i pomažu nam poboljšati naše zahtjeve za povlačenjem pregledavajući ih.

Kako se standardizacija C ++ ubrzava, a svake godine izglasavaju veće značajke, mislimo da će biti važno prihvatiti osnovne značajke kao doprinose otvorenog koda. (Na primjer, potencijalni kandidati su format C ++ 20 i kronološke knjižnice.) Također želimo dati doprinos zajednici C ++ omogućujući provedbu naših osnovnih funkcija. (Na primjer, charconv iz C ++ 17)

S tim Ljudi iz Microsofta dali su do znanja da ovu knjižnicu planiraju nastaviti razvijati kao otvoreni projekt koji se razvija na GitHub-u koji će prihvaćati zahtjeve za povlačenjem od vanjskih programera s popravcima i implementacijom novih značajki (za sudjelovanje u razvoju potreban je CLA ugovor za prijenos prava vlasništva na preneseni kôd).

Primjećuje se da prijenos razvoja sa STL-a na GitHub pomoći će Microsoftovim kupcima da Pratite napredak u razvoju, eksperimentirajte s najnovijim promjenama i pomozite u pregledavanju pristiglih zahtjeva za inovacijama.

Otvorite i kod omogućiti zajednici upotrebu gotovih implementacija mogućnosti za nove standarde u drugim projektima.

O licenci koda ove knjižnice, Predložen je kao otvoren pod licencom Apache 2.0, s iznimkama za binarne datoteke koje rješavaju problem uključivanja runtime knjižnica u sastav generiranih izvršnih datoteka.

Da bude jasno, MSVC STL se ne spaja s libc ++ jer su to još uvijek zasebne knjižnice.

Microsoft objašnjava zašto licenca za kod odabran je na takav način da omogućuje razmjenu koda s bibliotekom libc ++ projekta LLVM. STL i libc ++ razlikuju se u internom predstavljanju struktura podataka, ali ako žele, programeri libc ++ mogu prenijeti zanimljive STL funkcionalnosti (npr. Charconv) ili oba projekta mogu zajednički razviti neke inovacije.

MSVC STL distribuira se pod licencom Apache v2.0 s iznimkama LLVM-a, koju je nedavno stvorio projekt Clang / LLVM / libc ++.

Iznimke dodane licenci Apache ukidaju zahtjev za spominjanje upotrebe izvornog proizvoda prilikom isporuke blinarica kompiliranih sa STL krajnjim korisnicima.

Ova je dozvola za otvoreni izvor izabrana jer ima istu licencu kao libc ++ što će olakšati dijeljenje koda između knjižnica. Da budemo jasni, MSVC STL se ne spaja s libc ++; još uvijek su različite knjižnice koje podržavaju različite platforme s različitim prikazima strukture podataka.

S druge strane, jedan od ključnih ciljeva projekta naziva se potpuno poštivanje zahtjeva specifikacije, osiguravajući visoke performanse, jednostavnost korištenja (ispravljanje pogrešaka, dijagnostika, alati za otkrivanje pogrešaka) te kompatibilnost s izvorima i ABI s ranijim verzijama Visual Studija 2015/2017.

Među područjima koja Microsoft nije zainteresiran za razvoj prenosivosti na druge platforme i dodavanje prilagođenih proširenja.

Ako želite znati više o izjavi koju je dao Microsoft, možete je potražiti U sljedećem linku.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.