Microsoft atvirojo kodo C++ standartinę biblioteką įtraukta į Visual Studio

Šiomis dienomis vykstančioje CppCon 2019 konferencijoje Microsoft paskelbė apie C++ standartinės bibliotekos (STL, C++ standartinės bibliotekos), kuri yra MSVC įrankių rinkinio ir „Visual Studio“ kūrimo aplinkos dalis, įdiegto kodo atidarymą. Biblioteka įgyvendina galimybes, aprašytas dabartiniuose C++14 ir C++17 standartuose, taip pat tobulėja, kad būtų palaikomas būsimas C++20 standartas, pasikeitus dabartiniam darbiniam projektui. Kodas atviras pagal Apache 2.0 licenciją su dvejetainių failų išimtimis, kurios išsprendžia vykdymo laiko bibliotekų įtraukimo į sugeneruotus vykdomuosius failus problemą.

Šios bibliotekos kūrimą ateityje planuojama vykdyti kaip atvirą projektą, sukurtą GitHub platformoje, priimant trečiųjų šalių kūrėjų ištraukimo užklausas su pataisymais ir naujų funkcijų diegimu (dalyvaujant kuriant reikia pasirašyti CLA sutartį dėl perdavimo nuosavybės teisių į perleistą kodą). Pažymima, kad STL kūrimo perkėlimas į „GitHub“ padės „Microsoft“ klientams stebėti kūrimo eigą, eksperimentuoti su naujausiais pakeitimais ir peržiūrėti gaunamas užklausas dėl naujovių pridėjimo.

Atvirasis šaltinis taip pat leis bendruomenei naudoti paruoštus naujų standartų funkcijų įgyvendinimus kituose projektuose. Pavyzdžiui, kodo licencija pasirenkama siekiant suteikti galimybę dalytis kodu su biblioteka libc++ iš LLVM projekto. STL ir libc++ skiriasi vidiniu duomenų struktūrų atvaizdavimu, tačiau jei pageidaujama, libc++ kūrėjai gali perkelti dominančias funkcijas iš STL (pavyzdžiui, charconv) arba abu projektai gali kartu kurti kai kurias naujoves. Išimtys, įtrauktos į Apache licenciją, panaikina reikalavimą nurodyti pirminio produkto naudojimą galutiniams vartotojams teikiant dvejetainius failus, sudarytus su STL.

Pagrindiniai projekto tikslai yra visiškas specifikacijų reikalavimų laikymasis, didelio našumo užtikrinimas, naudojimo paprastumas (derinimo įrankiai, diagnostika, klaidų aptikimas) ir suderinamumas šaltinio kodo lygiu ir ABI su ankstesniais Visual Studio 2015/2017 leidimais. Tarp sričių, kurių „Microsoft“ nedomina plėtoti, yra perkėlimas į kitas platformas ir nestandartinių plėtinių pridėjimas.

Šaltinis: opennet.ru

Добавить комментарий