Microsoft julkaisi koodin STL: n, standardin C ++ -kirjaston, käyttöönotosta

STL avoin lähde

CppCon 2019 -konferenssi oli paikka toteutumista iso ilmoitus Microsoftilta, hyvin hänessä julkaisi STL-kirjaston lähdekoodin C ++ -standardi sisältyy Visual C ++ -sovellukseen, joka ilmoituksen jälkeen on saatavilla ilmaisella lisenssillä, erityisesti Apache 2.0: lla (mikä on melko sallivaa).

libcxx, LLVM / Clang C ++ -standardikirjasto, käyttää jo tätä lisenssiä, jonka pitäisi helpottaa koodien vaihtoa projektien välillä. Kaikki tämän kirjaston lähdekoodit ovat saatavilla ja käännettävissä Visual C ++: lla, mutta testausta ei vielä sisällytetä.

Avoimen projektin odotetaan kehittyvän GitHubissa ja vastaanottavan vetopyyntöjä kolmannen osapuolen uusia ominaisuuksia ja korjaustiedostoja. Jos haluat liittyä jäseneksi, sinun on allekirjoitettava CLA-koodinsiirtosopimus.

MSVC-tiimi uskoo, että siirtyminen STL: stä GitHubiin auttaa Microsoftin asiakkaita pysymään ajan tasalla kehitysprosessista, kokeilemaan innovaatioita ja auttamaan projektin kehittämisessä.

Sen sijaan, kehittäjät voivat käyttää uusien standardien valmiita toteutuksia muissa projekteissa.

Voit esimerkiksi vaihtaa koodin libc ++ -kirjaston kanssa, joka toimii LLVM-projektissa. Microsoft korostaa, että STL ja libc ++ eivät yhdisty, ne ovat edelleen erilaisia ​​kirjastoja, eri rakenteilla ja alustoilla. Voit kuitenkin nyt työskennellä molempien kirjastojen uusien ominaisuuksien suhteen huolimatta lisensoinnista

Tämän standardikirjaston toteutuksen ei ole tarkoitus kilpailla esimerkiksi GCC: n tai Clangin tarjoamien toteutusten kanssa: Microsoft-projekti ei aio tukea muita alustoja kuin Microsoft.

Kehittäjät pyrkivät kuitenkin korkealaatuiseen käyttöönottoon: standardien mukaiseen ja erittäin nopeaan.

Binaarinen yhteensopivuus taataan Visual C ++ -versioilla 2015 ja 2017 (Tämä kirjasto toimitetaan vuoden 2019 version mukana) lukuun ottamatta ominaisuuksia, jotka otettiin käyttöön ennen standardin viimeistelyä (työasiakirjat ja tekniset eritelmät The C ++ Standards Committee).

WCBF02-haara (edelleen Microsoftin sisäinen) sisältää yhteensopimattomia muutoksia binaaritasolla, mutta ei lähdetasolla (tavallisen kirjastopäivityksen vuoksi sinun on käännettävä projektisi uudelleen eikä vain muutettava DLL-tiedostoa). Tämä haara sisältää useita parannuksia ja korjauksia, ja se on julkisesti saatavilla pian.

Toisin kuin jotkut ilmaisiksi kuvatut projektit, Microsoft suosittelee vikojen ilmoittamista ja osallistumista projektikoodiin (Tällöin on allekirjoitettava käyttöoikeussopimus, jotta Microsoftille annetaan tarvittavat oikeudet maksujen uudelleenjakamiseen, varsinkin jos projektilisenssi muuttuu, mikä vaikeus on LLVM: llä useita vuosia).

Lähitulevaisuudessa, Microsoftin tulisi lisätä sisäinen testipaketti projektiin. Sisäisesti laajentunut virhelista siirretään GitHubiin. Tällä hetkellä kokoaminen tapahtuu MSBuildilla, mutta siirtyminen CMakeen on käynnissä. C ++ 20 -toimintoa ollaan ottamassa käyttöön.

Muita Visual C ++ -komponentteja ei pitäisi olla saatavilla ilmaisiin lisensseihin. Microsoft perustelee tämän valinnan toteamalla, että standardi C ++ -kirjasto on melko kääntäjäriippumaton (toisin kuin esimerkiksi tavallinen C-kirjasto) ja että se kehittyy hyvin nopeasti verrattuna muihin kääntäjän komponentteihin.

STL-lähdekoodi sijaitsee nyt saatavilla Githubissa josta kiinnostuneet voivat ladata sen tai tutkia sen koodin.

GitHub-arkistossa on kaikki tuotteen lähdekoodi, uusi CMake- ja README-rakennusjärjestelmä, joka sisältää enemmän tietoa. Kirjasto on lisensoitu Apache 2.0 -lisenssillä (lukuun ottamatta joitain binäärejä).

On selvää, tämä ei vaikuta kehittäjiin, jotka haluavat vain käyttää STL: ää, koska se on käytettävissä käytettäväksi Visual Studio IDE: ssä. Kehittäjät, jotka haluavat osallistua STL-kehitykseen, voivat kuitenkin tehdä sen käyttämällä GitHub-arkistoa.

Siirtyminen GitHubiin on edelleen kesken, mutta voit nyt kloonata ja rakentaa koodisi.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.