Microsoft het die kode oopgemaak vir die C++ Standard Library wat saam met Visual Studio kom

By die CppCon 2019-konferensie wat deesdae plaasvind, het Microsoft aangekondig oor die oopmaak van die kode van sy implementering van die C++ Standard Library (STL, C++ Standard Library), wat deel is van die MSVC-gereedskapstel en die Visual Studio-ontwikkelingsomgewing. Die biblioteek implementeer die vermoëns wat in die huidige C++14- en C++17-standaarde beskryf word, en ontwikkel ook na ondersteuning vir die toekomstige C++20-standaard, na aanleiding van veranderinge in die huidige werkkonsep. Kode is oop onder die Apache 2.0-lisensie met uitsonderings vir binêre lêers wat die probleem oplos om runtime-biblioteke in die gegenereerde uitvoerbare lêers in te sluit.

Die ontwikkeling van hierdie biblioteek in die toekoms word beplan om uitgevoer te word as 'n oop projek wat op GitHub ontwikkel is, en aanvaar trekversoeke van derdeparty-ontwikkelaars met regstellings en die implementering van nuwe kenmerke (deelname aan ontwikkeling vereis die ondertekening van 'n CLA-ooreenkoms oor die oordrag van eiendomsreg op die oorgedra kode). Daar word kennis geneem dat die oordrag van STL-ontwikkeling na GitHub Microsoft-kliënte sal help om die vordering van ontwikkeling op te spoor, met die jongste veranderinge te eksperimenteer en te help om inkomende versoeke vir die byvoeging van innovasies te hersien.

Oopbron sal ook die gemeenskap in staat stel om gereedgemaakte implementerings van kenmerke van die nuwe standaarde in ander projekte te gebruik. Byvoorbeeld, die kodelisensie word gekies om die vermoë te bied om kode met die biblioteek te deel libc++ van die LLVM-projek. STL en libc++ verskil in die interne voorstelling van datastrukture, maar indien verlang, kan libc++-ontwikkelaars funksionaliteit van belang vanaf STL oordra (byvoorbeeld charconv) of beide projekte kan gesamentlik sommige innovasies ontwikkel. Die uitsonderings wat by die Apache-lisensie gevoeg is, verwyder die vereiste om die gebruik van die oorspronklike produk te noem wanneer binaries saamgestel met die STL aan eindgebruikers afgelewer word.

Die sleuteldoelwitte van die projek sluit in volle voldoening aan spesifikasievereistes, die versekering van hoë werkverrigting, gemak van gebruik (ontfoutingsnutsmiddels, diagnostiek, foutopsporing) en verenigbaarheid op die bronkodevlak en ABI met vorige vrystellings van Visual Studio 2015/2017. Onder die gebiede wat Microsoft nie daarin belangstel om te ontwikkel nie, is die oordrag na ander platforms en die byvoeging van nie-standaard uitbreidings.

Bron: opennet.ru

Voeg 'n opmerking