Microsoft-ը բաց կոդով օգտագործել է C++ ստանդարտ գրադարանը, որը ներառված է Visual Studio-ի հետ

Այս օրերին տեղի ունեցող CppCon 2019 կոնֆերանսում Microsoft-ը հայտարարվեց 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-ի նախորդ թողարկումների հետ: Այն ոլորտներից, որոնց զարգացումը Microsoft-ը շահագրգռված չէ, այլ հարթակներ տեղափոխելը և ոչ ստանդարտ ընդլայնումների ավելացումը:

Source: opennet.ru

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