Microsoft allibero el codi de la biblioteca estàndard de C ++ que està en Visual Studio

logo microsoft

Logotip de Microsoft

En la conferència CppCon 2019 que ha estat sent celebrada a aquests dies, els exponents de Microsoft van aprofitar per realitzar el va anunciar l'obertura d'el codi per a la seva implementació de la Biblioteca estàndard de C ++ (També coneguda com STL), que forma part de el conjunt d'eines MSVC i l'entorn de desenvolupament de Visual Studio.

La biblioteca implementa les capacitats descrites en els estàndards actuals de C ++ 14 i C ++ 17, i també es desenvolupa a la direcció de suportar el futur estàndard C ++ 20, seguint els canvis en l'esborrany de treball actual.

Segons les raons per les que la gent de Microsoft ha decidit fer aquest moviment, En el comunicat expliquen:

Hi ha diverses raons per la qual cosa fem això, una d'elles és treballar en el STL a GitHub, això permetrà als nostres clients seguir el nostre desenvolupament tal com passa, tastar els nostres canvis i ajudar-nos a millorar les nostres sol·licituds d'extracció a l'revisar-los.

A mesura que l'estandardització de C ++ s'accelera, i cada any es voten característiques més grans, creiem que serà important acceptar les característiques principals com contribucions de codi obert. (Per exemple, les biblioteques cronològiques i de format de C ++ 20 són candidats potencials). També volem contribuir de nou a la comunitat de C ++ a l'fer possible la implementació de les nostres funcions principals. (Per exemple, charconv de C ++ 17)

amb això la gent de Microsoft dóna ca conèixer que es planeja continuar desenvolupant aquesta biblioteca com un projecte obert que s'està desenvolupant a GitHub que acceptarà sol·licituds d'extracció de desenvolupadors externs amb correccions i la implementació de noves característiques (per participar en el desenvolupament, es requereix un acord CLA per transferir els drets de propietat a el codi transferit).

S'observa que la transferència de el desenvolupament de STL a GitHub ajudarà als clients de Microsoft a realitzar un seguiment de el progrés de el desenvolupament, experimentar amb els canvis i ajudar a revisar les sol·licituds entrants d'innovacions.

Obrir el codi també permetrà a la comunitat utilitzar implementacions ja preparades d'oportunitats de nous estàndards en altres projectes.

Sobre la llicència d'el codi d'aquesta biblioteca, és proposat com obert sota la llicència Apache 2.0 amb excepcions per a arxius binaris que resolen el problema d'incloure biblioteques de temps d'execució en la composició dels arxius executables generats.

Per ser clars, el STL de MSVC no s'està fusionant amb libc ++ ja que segueixen sent biblioteques diferents.

Microsoft explica per que la llicència de codi es selecciona de manera que permeti intercanviar codi amb la biblioteca libc ++ de el projecte LLVM. STL i libc ++ difereixen en la representació interna de les estructures de dades, però si ho desitgen, els desenvolupadors de libc ++ poden portar funcionalitats interessants de STL (per exemple, charconv) o tots dos projectes poden desenvolupar conjuntament algunes innovacions.

STL de MSVC es distribueix sota la llicència Apache v2.0 amb excepcions LLVM, que va ser creat recentment pel projecte Clang / LLVM / libc ++.

Les excepcions agregades a la llicència d'Apache cancel·len el requisit d'esmentar l'ús del producte font a l'entregar fitxers binaris compilats amb STL als usuaris finals.

Aquesta llicència de codi obert permissiva va ser triada perquè tenir la mateixa llicència que libc ++ el que farà que sigui més fàcil compartir codi entre les biblioteques. Per ser clars, el STL de MSVC no s'està fusionant amb libc ++; segueixen sent biblioteques diferents que admeten diferents plataformes amb diferents representacions d'estructura de dades.

D'altra banda un dels objectius clau de el projecte s'anomena compliment total amb els requisits de les especificacions, el que garanteix un alt rendiment, facilitat d'ús (depuració, diagnòstic, eines de detecció d'errors) i compatibilitat a nivell d'origen i ABI amb versions anteriors de Visual Studio 2015/2017.

Entre les àrees que Microsoft no està interessat a desenvolupar són la portabilitat a altres plataformes i afegir extensions personalitzades.

Si vols conèixer més a l'respecte sobre el comunicat que va realitzar Microsoft pots consultar en el següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.