Microsoft-ek STL (C ++ liburutegi estandarra) ezartzetik atera zuen kodea

STL kode irekia

CppCon 2019 konferentzia izan zen lekua gauzatzea Microsoft-en iragarki handi bat, ondo bere baitan STL liburutegiaren iturburu kodea kaleratu du C ++ estandarra Visual C ++-rekin batera dago, iragarkitik aurrera eskuragarri dagoena doako lizentziapean, zehazki Apache 2.0 (nahiko zilegi da).

libcxx, LLVM / Clang C ++ liburutegi estandarrak, dagoeneko lizentzia hau erabiltzen du, proiektuen arteko kode trukea erraztu beharko lukeena. Liburutegi honen iturburu-kode guztiak eskuragarri eta konpilagarriak dira Visual C ++-rekin, baina probak oraindik ez daude barne.

Proiektu irekia GitHub-en garatzea eta pull eskaerak jasotzea espero da hirugarrenak ezaugarri eta adabaki berriekin. Bazkide izateko CLA kodea transferitzeko hitzarmena sinatu behar duzu.

MSVC taldeak uste du STLtik GitHub-era egindako migrazioak Microsoft bezeroei garapen prozesuan egunean egoteko, berrikuntzekin esperimentatzeko eta proiektua garatzen lagunduko duela.

Horren ordez, garatzaileek beste proiektu batzuetan estandar berrien inplementazio puntualak erabili ahal izango dituzte.

Adibidez, kodea trukatu dezakezu LLVM proiektuan funtzionatzen duen libc ++ liburutegi batekin. Microsoft-ek azpimarratzen du STL eta libc ++ ez direla bat egiten, liburutegi desberdinak dira oraindik, egitura eta plataforma ezberdinekin. Hala ere, orain bi liburutegietarako eginbide berriak landu ditzakezu lizentzien inguruko kezkarik gabe

Liburutegi estandarraren inplementazio honek ez du GCCk edo Clangek emandako inplementazioekin lehiatzeko asmorik, adibidez: Microsoft proiektuak ez du Microsoft baino beste plataforma batzuk onartzeko asmoa.

Hala ere, garatzaileek kalitate handiko inplementazioa lortu nahi dute: estandarrak eta oso azkarrak.

Bitariko bateragarritasuna Visual C ++ 2015 eta 2017 bertsioekin bermatuta dago (Liburutegi hau 2019ko bertsioarekin hornituta dago), estandarra amaitu baino lehen gauzatutako funtzioak izan ezik (lan dokumentuak eta zehaztapen teknikoak The C ++ Standards Committee).

WCBF02 adarrak (oraindik Microsoft-en barnekoa) aldaketa bateragarriak ditu maila bitarrean, baina ez iturburu mailan (liburutegi estandarraren eguneratze baterako, zure proiektuak berriro konpilatu beharko dituzu, ez bakarrik DLLa aldatu). Adar honek zenbait hobekuntza eta konponketa ditu eta laster publikoki ikusgai egongo da.

Doako gisa deskribatutako zenbait proiektutan ez bezala, Microsoftek akatsak salatzea eta proiektuaren kodean laguntzea gomendatzen du (Kasu honetan, beharrezkoa izango da CLA bat sinatzea Microsoft-i ekarpenak birbanatzeko beharrezkoak diren eskubideak emateko, batez ere proiektuaren lizentzia aldatzen bada, LLVM-k hainbat urtez izan duen zailtasuna).

Etorkizun hurbilean, Microsoftek barne probako multzoa gehitu beharko lioke proiektuari. Barruan handitutako akatsen zerrenda GitHub-era migratzen ari da. Momentuz konpilazioa MSBuild-ekin egiten da, baina CMake-ra migrazioa abian da. C ++ 20 funtzionalitatea ezartzen ari da.

Beste Visual C ++ osagai batzuk ez lirateke erabilgarri egongo lizentzia libreak lortzeko. Microsoftek aukera hori justifikatzen du C ++ liburutegi estandarra nahiko konpilatzailea independentea dela (adibidez, C liburutegi estandarraren aldean) eta oso azkar garatzen dela konpilatzailearen beste osagai batzuekin alderatuta.

STL iturburu kodea dago orain eskuragarri dago Github-en bertan interesdunek deskargatu edo haren kodea aztertu ahal izango dute.

GitHub biltegiak produktuaren iturburu-kode guztiak ditu, CMake eta README eraikuntza sistema berri bat informazio gehiagorekin. Liburutegia Apache 2.0 lizentziapean dago (bitxi batzuk izan ezik).

Jakina, honek ez die STL erabili nahi duten garatzaileei eragiten, Visual Studio IDEan erabiltzeko moduan baitago. Hala ere, STL garapenean parte hartu nahi duten garatzaileek GitHub biltegia erabiliz egin dezakete.

GitHub-era mugitzen ari da oraindik, baina kodea klonatu eta eraiki daiteke.


Artikuluaren edukia gure printzipioekin bat dator etika editoriala. Akats baten berri emateko egin klik hemen.

Idatzi lehenengo iruzkina

Utzi zure iruzkina

Zure helbide elektronikoa ez da argitaratuko. Beharrezko eremuak markatuta daude *

*

*

  1. Datuen arduraduna: Miguel Ángel Gatón
  2. Datuen xedea: SPAM kontrolatzea, iruzkinen kudeaketa.
  3. Legitimazioa: Zure baimena
  4. Datuen komunikazioa: datuak ez zaizkie hirugarrenei jakinaraziko legezko betebeharrez izan ezik.
  5. Datuak biltegiratzea: Occentus Networks-ek (EB) ostatatutako datu-basea
  6. Eskubideak: Edonoiz zure informazioa mugatu, berreskuratu eta ezabatu dezakezu.