Microsoft je objavio standardni C ++ bibliotečki kod koji se nalazi u Visual Studio-u

Microsoftov logotip

Microsoftov logotip

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

Biblioteka implementira mogućnosti opisane u trenutnim standardima C ++ 14 i C ++ 17, a takođe je razvijen u pravcu podrške budućem standardu C ++ 20, prateći promene u trenutnom radnom nacrtu.

Prema razlozi zbog kojih 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 tako što ćemo ih pregledati.

Kako se standardizacija C ++ ubrzava, a svake godine izglasavaju veće funkcije, mislimo da će biti važno prihvatiti osnovne značajke kao doprinose otvorenog koda. (Na primjer, potencijalni kandidati su format C ++ 20 i hronološke biblioteke.) 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 planiraju i dalje razvijati ovu biblioteku kao otvoreni projekat koji se razvija na GitHub-u koji će prihvatiti zahtjeve za povlačenjem od vanjskih programera s popravcima i implementacijom novih karakteristika (za sudjelovanje u razvoju potreban je CLA ugovor za prijenos vlasničkih prava na preneseni kôd).

Primjećuje se da prenošenje razvoja sa STL-a na GitHub pomoći će Microsoftovim kupcima pratiti napredak u razvoju, eksperimentirati sa najnovijim promjenama i pomoći u pregledu dolaznih zahtjeva za inovacijama.

Otvorite i kod omogućiti zajednici da koristi gotove implementacije mogućnosti za nove standarde u drugim projektima.

O licenci koda ove biblioteke, 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 budemo jasni, MSVC STL se ne spaja s libc ++ jer su to još uvijek zasebne knjižnice.

Microsoft objašnjava zašto licenca za kod je odabran na takav način da omogućava 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 sa LLVM izuzecima, koju je nedavno stvorio projekt Clang / LLVM / libc ++.

Izuzeci dodani licenci Apache ukidaju zahtjev za spominjanje upotrebe izvornog proizvoda pri isporuci binarnih datoteka kompajliranih sa STL krajnjim korisnicima.

Ova permisivna licenca otvorenog koda izabrana je jer ima istu licencu kao libc ++ što će olakšati dijeljenje koda između biblioteka. Da budemo jasni, MSVC STL se ne spaja s libc ++; i dalje su različite biblioteke 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 upotrebe (otklanjanje grešaka, dijagnostika, alati za otkrivanje grešaka) i kompatibilnost izvora i ABI-a s ranijim verzijama Visual Studija 2015/2017.

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

Ako želite znati više o izjavi koju je dao Microsoft, možete je pregledati Na sledećem linku.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  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 obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.