A Microsoft kiadta a Visual Studio szabványos C ++ könyvtárkódját

Microsoft logó

Microsoft logó

A CppCon 2019 konferencián amit napjainkban ünnepeltek, a Microsoft képviselői éltek az alkalommal, hogy bejelentették a kód megnyitását megvalósításához a C ++ szabványos könyvtárból (más néven STL), amely az MSVC Toolkit és a Visual Studio fejlesztői környezet része.

A könyvtár megvalósítja a jelenlegi C ++ 14 és C ++ 17 szabványokban leírt képességeket, és a jövőbeni C ++ 20 szabvány támogatásának irányába is fejlesztették, a jelenlegi munkadokumentumban bekövetkezett változásokat követve.

Által az okok, amelyek miatt a Microsoft emberei úgy döntöttek, hogy megteszik ezt a lépést, a nyilatkozatban kifejtik:

Ennek számos oka van, egyikük az, hogy a GitHubon dolgozzunk az STL-en, ez lehetővé teszi ügyfeleink számára, hogy kövessék a fejlődésünket, ahogy bekövetkezik, teszteljék a legújabb változásainkat, és ezek felülvizsgálatával javítani tudják a húzási kérelmeket.

Mivel a C ++ szabványosítás felgyorsul, és minden évben nagyobb jellemzőket szavaznak meg, fontosnak tartjuk, hogy az alapvető jellemzőket nyílt forráskódú hozzájárulásokként fogadjuk el. (Például a C ++ 20 formátum és az időrendi könyvtárak potenciális jelöltek.) Ezenkívül szeretnénk hozzájárulni a C ++ közösséghez azáltal, hogy lehetővé teszik alapvető funkcióink megvalósítását. (Például charconv a C ++ 17-ből)

Azzal A Microsoft munkatársai tudtára adták, hogy a könyvtár továbbfejlesztését nyitott projektként tervezik amelyet a GitHubon fejlesztenek ki, amely külső fejlesztőktől érkező kéréseket fogadja el javításokkal és új funkciók megvalósításával (a fejlesztésben való részvételhez CLA-megállapodás szükséges az átadott kód tulajdonjogainak átadásához).

Megfigyelhető, hogy A fejlesztés STL-ről a GitHub-ra való átvitele segít a Microsoft ügyfeleinek Kövesse nyomon a fejlesztés előrehaladását, kísérletezzen a legújabb változásokkal, és segítsen áttekinteni a beérkező innovációs kérelmeket.

Nyissa meg a kódot is lehetővé teszi a közösség számára, hogy kész megvalósításokat használjon új szabványok lehetőségei más projektekben.

A könyvtár kódjának licencéről Nyíltnak javasoljuk az Apache 2.0 licenc alatt, kivéve azokat a bináris fájlokat, amelyek megoldják azt a problémát, hogy a futásidejű könyvtárak bekerüljenek a létrehozott futtatható fájlokba.

Hogy világos legyek, Az MSVC STL nem egyesül a libc ++ rendszerrel, mivel ezek továbbra is külön könyvtárak.

A Microsoft elmagyarázza a kódlicenc miértjét úgy van kiválasztva, hogy lehetővé tegye a kódcserét az LLVM projekt libc ++ könyvtárával. Az STL és a libc ++ különbözik az adatstruktúrák belső reprezentációjától, de ha akarják, a libc ++ fejlesztők érdekes STL funkciókat (például charconv) portolhatnak, vagy mindkét projekt közösen fejleszthet néhány újítást.

Az MSVC STL az Apache v2.0 licenc alatt terjesztésre kerül, LLVM kivételekkel, amelyet nemrégiben a Clang / LLVM / libc ++ projekt hozott létre.

Az Apache licenchez hozzáadott kivételekkel megszűnik az a követelmény, hogy megemlítsék a forrás termék használatát az STL által lefordított bináris fájlok végfelhasználóknak történő kézbesítésekor.

Ezt a megengedő nyílt forráskódú licencet azért választották, mert ugyanazzal a licenccel rendelkezik, mint a libc ++ ami megkönnyíti a kódok megosztását a könyvtárak között. Az egyértelműség érdekében az MSVC STL-t nem egyesítik a libc ++ -val; továbbra is külön könyvtárak, amelyek különböző platformokat támogatnak, eltérő adatszerkezeti ábrázolással.

Másrészt a projekt egyik kulcsfontosságú célját a követelményeknek való teljes megfelelésnek nevezik specifikációk, biztosítva a nagy teljesítményt, az egyszerű kezelhetőséget (hibakeresés, diagnosztika, hibakereső eszközök), valamint a forrás és az ABI szintű kompatibilitást a Visual Studio 2015/2017 korábbi verzióival.

A területek között, amelyek A Microsoft nem érdekli a más platformokra való hordozhatóság fejlesztését és az egyéni kiterjesztések hozzáadását.

Ha többet szeretne megtudni a Microsoft nyilatkozatáról, akkor megismerheti azt A következő linken.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: AB Internet Networks 2008 SL
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.