Мајкрософт ја создаде стандардната библиотека C++ вклучена во Visual Studio

На конференцијата CppCon 2019 што се одржува деновиве, Мајкрософт објави за отворањето на кодот на неговата имплементација на C++ Standard Library (STL, C++ Standard Library), кој е дел од MSVC алатникот и околината за развој на Visual Studio. Библиотеката ги имплементира способностите опишани во тековните стандарди C++14 и C++17, а исто така се развива кон поддршка за идниот стандард C++20, по промените во тековниот работен нацрт. Код е отворена под лиценцата Apache 2.0 со исклучоци за бинарни датотеки што го решаваат проблемот со вклучување библиотеки за траење во генерираните извршни датотеки.

Развојот на оваа библиотека во иднина се планира да се спроведува како отворен проект развиен на GitHub, прифаќајќи барања за повлекување од трети лица програмери со корекции и имплементација на нови функции (учеството во развојот бара потпишување договор за CLA за трансферот на имотните права на пренесената шифра). Забележано е дека преносот на развојот на STL на GitHub ќе им помогне на клиентите на Microsoft да го следат напредокот на развојот, да експериментираат со најновите промени и да помогнат во прегледот на дојдовните барања за додавање иновации.

Отворениот код, исто така, ќе и овозможи на заедницата да користи готови имплементации на функции од новите стандарди во други проекти. На пример, лиценцата за код е избрана за да обезбеди можност за споделување код со библиотеката libc++ од проектот LLVM. STL и libc++ се разликуваат во внатрешната застапеност на структурите на податоци, но по желба, програмерите на libc++ можат да ја префрлат функционалноста од интерес од STL (на пример, charconv) или двата проекти можат заеднички да развијат некои иновации. Исклучоците додадени на лиценцата Apache го отстрануваат барањето да се наведе употребата на оригиналниот производ при доставување бинарни датотеки составени со STL до крајните корисници.

Клучните цели на проектот вклучуваат целосна усогласеност со барањата за спецификација, обезбедување високи перформанси, леснотија на користење (алатки за дебагирање, дијагностика, откривање грешки) и компатибилност на ниво на изворен код и ABI со претходните изданија на Visual Studio 2015/2017. Меѓу областите за кои Мајкрософт не е заинтересиран да ги развие се пренесувањето на други платформи и додавањето нестандардни екстензии.

Извор: opennet.ru

Додадете коментар