Korporācija Microsoft izlaida kodu, ieviešot STL, standarta C ++ bibliotēku

STL atklātais avots

CppCon 2019 konference bija īstā vieta realizācija liels paziņojums no Microsoft, labi viņā atklāja STL bibliotēkas avota koda izlaišanu C ++ standarts iekļauts Visual C ++, kas paziņojuma laikā ir pieejams ar bezmaksas licenci, īpaši Apache 2.0 (kas ir diezgan visatļautība).

libcxx, LLVM / Clang C ++ standarta bibliotēka, jau izmanto šo licenci, kam vajadzētu atvieglot kodu apmaiņu starp projektiem. Viss šīs bibliotēkas pirmkods ir pieejams un kompilējams ar Visual C ++, taču testēšana vēl nav iekļauta.

Paredzams, ka atvērtais projekts tiks izstrādāts vietnē GitHub un saņems pieprasījumus trešā puse ar jaunām funkcijām un ielāpiem. Lai kļūtu par dalībnieku, jums jāparaksta CLA koda pārsūtīšanas līgums.

MSVC komanda uzskata, ka pāreja no STL uz GitHub palīdzēs Microsoft klientiem sekot līdzi attīstības procesam, eksperimentēt ar jauninājumiem un palīdzēs attīstīt projektu.

Vietā, izstrādātāji varēs izmantot jauno standartu ieviešanu ārpus izvēles citos projektos.

Piemēram, jūs varat apmainīt kodu ar libc ++ bibliotēku, kas darbojas LLVM projektā. Microsoft uzsver, ka STL un libc ++ nesavienojas, tās joprojām ir dažādas bibliotēkas, ar dažādām struktūrām un platformām. Tomēr tagad varat strādāt ar jaunām funkcijām abās bibliotēkās, neuztraucoties par licencēšanu

Šī standarta bibliotēkas ieviešana nav paredzēta, lai konkurētu ar GCC vai Clang piedāvātajām ieviešanām, piemēram: Microsoft projekts neplāno atbalstīt citas platformas kā Microsoft.

Tomēr izstrādātāju mērķis ir kvalitatīva ieviešana: standartiem atbilstoša un ļoti ātra.

Binārā saderība tiek garantēta ar Visual C ++ 2015. un 2017. gada versijām (Šī bibliotēka ir tā, kas tiek piegādāta ar 2019. gada versiju), izņemot funkcijas, kas tika ieviestas pirms standarta pabeigšanas (darba dokumenti un tehniskās specifikācijas The C ++ Standards Committee).

WCBF02 filiāle (joprojām ir Microsoft iekšēja) satur nesaderīgas izmaiņas binārā līmenī, bet ne avota līmenī (standarta bibliotēkas atjaunināšanai jums būs jāpārkompilē projekti, nevis jāmaina tikai DLL). Šajā filiālē ir vairāki uzlabojumi un labojumi, un tā drīz būs publiski pieejama.

Atšķirībā no dažiem projektiem, kas aprakstīti kā bezmaksas, Microsoft iesaka ziņot par defektiem un piedalīties projekta kodā (Šajā gadījumā būs jāparaksta CLA, lai piešķirtu Microsoft nepieciešamās tiesības ieguldījumu pārdalei, it īpaši gadījumā, ja mainās projekta licence, ar grūtībām, ar kurām LLVM ir saskārusies vairākus gadus).

Tuvākajā nākotnē, Microsoft projektam jāpievieno iekšējais testu komplekts. Iekšēji paplašinātais kļūdu saraksts tiek migrēts uz GitHub. Pašlaik kompilācija tiek veikta ar MSBuild, taču tiek veikta migrēšana uz CMake. Tiek ieviesta C ++ 20 funkcionalitāte.

Citi Visual C ++ komponenti nedrīkst būt pieejami bezmaksas licencēm. Microsoft pamato šo izvēli, norādot, ka standarta C ++ bibliotēka ir diezgan neatkarīga no sastādītājiem (atšķirībā no, piemēram, standarta C bibliotēkas) un ka tā attīstās ļoti ātri, salīdzinot ar citiem kompilatora komponentiem.

STL avota kods atrodas tagad pieejams vietnē Github kur ieinteresētās personas varēs to lejupielādēt vai pārbaudīt tā kodu.

GitHub repozitorijā ir viss produkta avota kods, jauna CMake un README veidošanas sistēma ar vairāk informācijas. Bibliotēka ir licencēta saskaņā ar Apache 2.0 licenci (izņemot dažus bināros failus).

Acīmredzot tas neietekmē izstrādātājus, kuri vienkārši vēlas izmantot STL, jo tas ir pieejams lietošanai Visual Studio IDE. Tomēr izstrādātāji, kuri vēlas piedalīties STL izstrādē, to var izdarīt, izmantojot GitHub repozitoriju.

Pāreja uz GitHub joprojām notiek, taču kodu tagad var klonēt un izveidot.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.