Microsoft a publié le code de bibliothèque C ++ standard qui se trouve dans Visual Studio

logo Microsoft

Logo Microsoft

À la conférence CppCon 2019 qui a été célébré ces jours-ci, les exposants de Microsoft en ont profité pour faire l'annonce de l'ouverture du code pour sa mise en œuvre à partir de la bibliothèque standard C ++ (également appelé STL), qui fait partie de MSVC Toolkit et de l'environnement de développement Visual Studio.

La bibliothèque implémente les fonctionnalités décrites dans les standards actuels C ++ 14 et C ++ 17, et il est également développé dans le sens de la prise en charge de la future norme C ++ 20, suite aux changements dans le projet de travail actuel.

D'après les raisons pour lesquelles les gens de Microsoft ont décidé de faire cette démarche, dans la déclaration, ils expliquent:

Il y a plusieurs raisons pour lesquelles nous faisons cela, l'une d'elles est de travailler sur la STL sur GitHub, cela permettra à nos clients de suivre notre développement au fur et à mesure, de tester nos dernières modifications et de nous aider à améliorer nos pull requests en les examinant.

Au fur et à mesure que la normalisation C ++ s'accélère et que de plus grandes fonctionnalités sont votées chaque année, nous pensons qu'il sera important d'accepter les fonctionnalités de base comme des contributions open source. (Par exemple, le format C ++ 20 et les bibliothèques chronologiques sont des candidats potentiels.) Nous souhaitons également contribuer à la communauté C ++ en rendant possible l'implémentation de nos fonctions de base. (Par exemple, charconv de C ++ 17)

Avec lui Les gens de Microsoft ont fait savoir qu'ils prévoyaient de continuer à développer cette bibliothèque en tant que projet ouvert qui est en cours de développement sur GitHub qui acceptera les demandes d'extraction de développeurs externes avec des correctifs et la mise en œuvre de nouvelles fonctionnalités (pour participer au développement, un accord CLA est nécessaire pour transférer les droits de propriété sur le code transféré).

On observe que le transfert du développement de STL vers GitHub aidera les clients Microsoft à Suivez la progression du développement, testez les dernières modifications et aidez à examiner les demandes d'innovations entrantes.

Ouvrez aussi le code permettre à la communauté d'utiliser des implémentations toutes faites possibilités de nouvelles normes dans d’autres projets.

A propos de la licence du code de cette bibliothèque, Il est proposé comme ouvert sous la licence Apache 2.0 avec des exceptions pour les fichiers binaires qui résolvent le problème d'inclusion des bibliothèques d'exécution dans la composition des fichiers exécutables générés.

Pour être clair, MSVC STL ne fusionne pas avec libc ++ car ce sont toujours des bibliothèques séparées.

Microsoft explique pourquoi la licence de code est sélectionné de manière à permettre l'échange de code avec la bibliothèque libc ++ du projet LLVM. STL et libc ++ diffèrent dans la représentation interne des structures de données, mais s'ils le souhaitent, les développeurs de libc ++ peuvent porter des fonctionnalités STL intéressantes (par exemple charconv) ou les deux projets peuvent développer conjointement certaines innovations.

MSVC STL est distribué sous la licence Apache v2.0 avec des exceptions LLVM, qui a été récemment créée par le projet Clang / LLVM / libc ++.

Les exceptions ajoutées à la licence Apache annulent l'obligation de mentionner l'utilisation du produit source lors de la livraison de binaires compilés STL aux utilisateurs finaux.

Cette licence open source permissive a été choisie car ayant la même licence que libc ++ ce qui facilitera le partage de code entre les bibliothèques. Pour être clair, MSVC STL ne fusionne pas avec libc ++; ce sont toujours des bibliothèques distinctes qui prennent en charge différentes plates-formes avec des représentations de structure de données différentes.

D'autre part, l'un des objectifs clés du projet est appelé le respect total des exigences spécifications, garantissant des performances élevées, une facilité d'utilisation (débogage, diagnostics, outils de détection d'erreurs) et la compatibilité des sources et des niveaux ABI avec les versions antérieures de Visual Studio 2015/2017.

Parmi les domaines qui Microsoft n'est pas intéressé par le développement de la portabilité vers d'autres plates-formes et l'ajout d'extensions personnalisées.

Si vous souhaitez en savoir plus sur la déclaration de Microsoft, vous pouvez la consulter dans le lien suivant.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.