Microsoft hankis Visual Studioga kaasas oleva C++ standardteegi

Nendel päevadel toimuval CppCon 2019 konverentsil Microsoft kuulutas välja tema C++ Standard Library (STL, C++ Standard Library) juurutuse koodi avamise kohta, mis on osa MSVC tööriistakomplektist ja Visual Studio arenduskeskkonnast. Raamatukogu rakendab praegustes C++14 ja C++17 standardites kirjeldatud võimalusi ning areneb ka tulevase C++20 standardi toe suunas, pärast muudatusi praeguses töökavandis. Kood on avatud Apache 2.0 litsentsi alusel, välja arvatud binaarfailide puhul, mis lahendavad käitusaja teekide kaasamise probleemi loodud täitmisfailidesse.

Antud teegi arendus on edaspidi plaanis läbi viia GitHubis arendatud avatud projektina, mis võtab vastu kolmandate osapoolte arendajate tõmbetaotlusi koos paranduste ja uute funktsioonide juurutamisega (arenduses osalemine eeldab CLA lepingu allkirjastamist üleandmise kohta omandiõigustest üleantud koodile). Märgitakse, et STL-i arenduse üleviimine GitHubile aitab Microsofti klientidel jälgida arenduse edenemist, katsetada uusimate muudatustega ja vaadata läbi saabuvad uuenduste lisamise taotlused.

Samuti võimaldab avatud lähtekoodiga kogukond kasutada uute standardite funktsioonide valmisrakendusi teistes projektides. Näiteks valitakse koodilitsents, et võimaldada koodi raamatukoguga jagada libc++ LLVM projektist. STL ja libc++ erinevad andmestruktuuride sisemise esituse poolest, kuid soovi korral saavad libc++ arendajad STL-ist huvipakkuvat funktsionaalsust (näiteks charconv) portida või mõlemad projektid ühiselt mõne uuenduse välja töötada. Apache litsentsile lisatud erandid eemaldavad nõude viidata algse toote kasutamisele STL-iga koostatud binaarfailide lõppkasutajatele edastamisel.

Projekti põhieesmärgid hõlmavad täielikku vastavust spetsifikatsiooninõuetele, kõrge jõudluse tagamist, kasutusmugavust (silumistööriistad, diagnostika, vigade tuvastamine) ning ühilduvust lähtekoodi ja ABI tasemel Visual Studio 2015/2017 varasemate väljalasetega. Nende valdkondade hulgas, mille arendamisest Microsoft ei ole huvitatud, on portimine teistele platvormidele ja mittestandardsete laienduste lisamine.

Allikas: opennet.ru

Lisa kommentaar