Microsoft адкрыў код стандартнай бібліятэкі З++, якая пастаўляецца ў Visual Studio

На праходзілай у гэтыя дні канферэнцыі CppCon 2019 кампанія Microsoft абвясціла аб адкрыцці кода сваёй рэалізацыі стандартнай бібліятэкі З++ (STL, C++ Standard Library), якая ўваходзіць у склад інструментара MSVC і асяроддзі распрацоўкі Visual Studio. Бібліятэка рэалізуе магчымасці, апісаныя ў актуальных стандартах C++14 і C++17, а таксама развіваецца ў напрамку падтрымкі будучага стандарту C++20, ідучы за зменамі ў бягучым працоўным чарнавіку. Код адкрыты пад ліцэнзіяй Apache 2.0 з выключэннямі для бінарных файлаў, якія вырашаюць праблему з уключэннем runtime-бібліятэк у склад фармаваных выкананых файлаў.

Распрацоўку гэтай бібліятэкі ў далейшым плануецца весці як адкрыты на GitHub адкрыты праект, які прымае ад іншых распрацоўшчыкаў pull-запыты з выпраўленнямі і рэалізацыяй новых магчымасцей (для ўдзелу ў распрацоўцы патрабуецца падпісанне CLA-пагаднення аб перадачы маёмасных правоў на код, які перадаецца). Адзначаецца, што пераклад распрацоўкі STL на GitHub дапаможа кліентам Microsoft адсочваць ход распрацоўкі, эксперыментаваць з самімі свежымі зменамі і дапамагаць рэцэнзаваць якія паступаюць запыты на даданне навін.

Адкрыццё кода таксама дасць магчымасць супольнасці выкарыстоўваць у іншых праектах гатовыя рэалізацыі магчымасцей з новых стандартаў. Напрыклад, ліцэнзія на код выбрана такім чынам, каб даць магчымасць абменьвацца кодам з бібліятэкай. libc++ ад праекту LLVM. STL і libc++ адрозніваюцца унутраным уяўленнем структур дадзеных, але пры жаданні распрацоўнікі libc++ могуць партаваць цікавую для функцыянальнасць з STL (напрыклад, charconv) або абодва праекты сумесна змогуць развіваць нейкія навіны. Дададзеныя ў ліцэнзію Apache выключэнні адмяняюць патрабаванні па згадванні выкарыстання зыходнага прадукта пры пастаўцы канчатковым карыстачам бінарных файлаў, скампіляваных з STL.

З ключавых мэт праекта называецца поўная адпаведнасць патрабаванням спецыфікацый, забеспячэнне высокай прадукцыйнасці, зручнасць выкарыстання (сродкі адладкі, дыягностыкі, выяўлення памылак) і сумяшчальнасць на ўзроўні зыходных тэкстаў і ABI c мінулымі выпускамі Visual Studio 2015/2017. Сярод абласцей, якія Microsoft не зацікаўлена развіваць, адзначаюцца партаванне на іншыя платформы і даданне нестандартных пашырэнняў.

Крыніца: opennet.ru

Дадаць каментар