A Microsoft nyílt forráskódú a Visual Studio C++ szabványkönyvtárát

A napokban zajló CppCon 2019 konferencián a Microsoft bejelentett az MSVC eszközkészlet és a Visual Studio fejlesztői környezet részét képező C++ Standard Library (STL, C++ Standard Library) implementációja kódjának megnyitásáról. A könyvtár a jelenlegi C++14 és C++17 szabványokban leírt funkciókat valósítja meg, és a jelenlegi munkatervezet változásait követően a jövőbeni C++20 szabvány támogatása felé is fejlődik. Kód nyisd ki az Apache 2.0 licenc alatt, a bináris fájlok kivételével, amelyek megoldják a futásidejű könyvtárak beépítési problémáját a generált futtatható fájlokba.

Ennek a könyvtárnak a fejlesztését a jövőben GitHubon kifejlesztett nyílt projektként tervezik végrehajtani, külső fejlesztőktől érkező lehívási kéréseket elfogadva korrekciókkal és új funkciók bevezetésével (a fejlesztésben való részvételhez CLA megállapodás aláírása szükséges az átvitelről az átruházott kódhoz fűződő tulajdonjogok). Megjegyzendő, hogy az STL-fejlesztés GitHubra átvitele segít a Microsoft ügyfeleinek nyomon követni a fejlesztés előrehaladását, kísérletezni a legújabb változtatásokkal, és áttekinteni az újítások hozzáadására vonatkozó beérkező kéréseket.

A nyílt forráskód azt is lehetővé teszi a közösség számára, hogy az új szabványok szolgáltatásainak kész implementációit más projektekben is felhasználhassa. Például a kódlicencet úgy választják ki, hogy lehetővé tegye a kód megosztását a könyvtárral libc++ az LLVM projektből. Az STL és a libc++ az adatstruktúrák belső megjelenítésében különbözik, de kívánság szerint a libc++ fejlesztők átvihetik az STL-ből az érdeklődésre számot tartó funkcionalitást (például charconv), vagy mindkét projekt közösen fejleszthet néhány újítást. Az Apache licenchez hozzáadott kivételek megszüntetik azt a követelményt, hogy az STL-lel lefordított bináris fájlokat a végfelhasználóknak kézbesítve hivatkozni kell az eredeti termék használatára.

A projekt legfontosabb céljai közé tartozik a specifikációs követelményeknek való teljes megfelelés, a nagy teljesítmény, a könnyű használat (hibakereső eszközök, diagnosztika, hibafelismerés) biztosítása, valamint a forráskód és az ABI szintű kompatibilitás a Visual Studio 2015/2017 korábbi kiadásaival. A Microsoft nem érdekelt fejlesztési területei közé tartozik a más platformokra történő portolás és a nem szabványos kiterjesztések hozzáadása.

Forrás: opennet.ru

Hozzászólás