Microsoft Visual Studio bilan birga bo'lgan C++ standart kutubxonasini ochiq manba kodli

Shu kunlarda bo'lib o'tayotgan CppCon 2019 konferentsiyasida Microsoft e'lon qildi MSVC asboblar to'plami va Visual Studio ishlab chiqish muhitining bir qismi bo'lgan C++ standart kutubxonasini (STL, C++ standart kutubxonasi) amalga oshirish kodini ochish haqida. Kutubxona joriy C++14 va C++17 standartlarida tasvirlangan imkoniyatlarni amalga oshiradi, shuningdek, joriy ishchi loyihadagi o‘zgarishlardan so‘ng kelajakdagi C++20 standartini qo‘llab-quvvatlashga qarab rivojlanmoqda. Kod ochiq Apache 2.0 litsenziyasi ostida ishlab chiqarilgan bajariladigan fayllarga ish vaqti kutubxonalarini kiritish muammosini hal qiladigan ikkilik fayllardan tashqari.

Kelajakda ushbu kutubxonaning rivojlanishi GitHub-da ishlab chiqilgan ochiq loyiha sifatida amalga oshirilishi rejalashtirilgan, uchinchi tomon ishlab chiquvchilari tomonidan tuzatishlar va yangi xususiyatlarni amalga oshirish so'rovlarini qabul qilish (ishlab chiqishda ishtirok etish uchun uzatish bo'yicha CLA shartnomasini imzolash talab etiladi) o'tkazilgan kodga bo'lgan mulk huquqi). Qayd etilishicha, STL ishlanmasini GitHub’ga o‘tkazish Microsoft mijozlariga rivojlanish jarayonini kuzatish, so‘nggi o‘zgarishlar bilan tajriba o‘tkazish va innovatsiyalar kiritish bo‘yicha kiruvchi so‘rovlarni ko‘rib chiqishga yordam beradi.

Ochiq manba hamjamiyatga boshqa loyihalarda yangi standartlarning xususiyatlarining tayyor tatbiq etilishidan foydalanishga imkon beradi. Masalan, kod litsenziyasi kutubxona bilan kod almashish imkoniyatini ta'minlash uchun tanlangan libc++ LLVM loyihasidan. STL va libc++ maʼlumotlar tuzilmalarining ichki koʻrinishida farqlanadi, lekin agar xohlasa, libc++ ishlab chiquvchilari STL dan (masalan, charconv) qiziqish funksiyalarini portlashi mumkin yoki ikkala loyiha birgalikda baʼzi innovatsiyalarni ishlab chiqishi mumkin. Apache litsenziyasiga qo'shilgan istisnolar oxirgi foydalanuvchilarga STL bilan tuzilgan ikkilik fayllarni yetkazib berishda asl mahsulotdan foydalanishga iqtibos keltirish talabini olib tashlaydi.

Loyihaning asosiy maqsadlari spetsifikatsiya talablariga to'liq mos kelish, yuqori unumdorlikni ta'minlash, foydalanish qulayligi (disk raskadrovka vositalari, diagnostika, xatolarni aniqlash) va manba kodi darajasida va ABIda Visual Studio 2015/2017 ning oldingi versiyalari bilan muvofiqligini o'z ichiga oladi. Microsoft rivojlantirishdan manfaatdor bo'lmagan sohalar orasida boshqa platformalarga o'tish va nostandart kengaytmalarni qo'shish kiradi.

Manba: opennet.ru

a Izoh qo'shish