Microsoft a open source la bibliothèque standard C++ incluse avec Visual Studio

Lors de la conférence CppCon 2019 qui se déroule ces jours-ci, Microsoft annoncé le à propos de l'ouverture du code de son implémentation de la bibliothèque standard C++ (STL, C++ Standard Library), qui fait partie de la boîte à outils MSVC et de l'environnement de développement Visual Studio. La bibliothèque implémente les fonctionnalités décrites dans les normes C++14 et C++17 actuelles, et évolue également vers la prise en charge de la future norme C++20, suite aux modifications apportées au projet de travail actuel. Code est ouvert sous licence Apache 2.0 avec des exceptions pour les fichiers binaires qui résolvent le problème de l'inclusion des bibliothèques d'exécution dans les fichiers exécutables générés.

Le développement de cette bibliothèque à l'avenir devrait être réalisé comme un projet ouvert développé sur GitHub, acceptant les pull request de développeurs tiers avec des corrections et la mise en œuvre de nouvelles fonctionnalités (la participation au développement nécessite la signature d'un accord CLA sur le transfert des droits de propriété sur le code transféré). Il est à noter que le transfert du développement STL vers GitHub aidera les clients Microsoft à suivre la progression du développement, à expérimenter les dernières modifications et à examiner les demandes entrantes d'ajout d'innovations.

L'open source permettra également à la communauté d'utiliser des implémentations prêtes à l'emploi des fonctionnalités des nouvelles normes dans d'autres projets. Par exemple, la licence de code est choisie pour offrir la possibilité de partager du 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 intéressantes de STL (par exemple, charconv) ou les deux projets peuvent développer conjointement certaines innovations. Les exceptions ajoutées à la licence Apache suppriment l'obligation de citer l'utilisation du produit d'origine lors de la livraison de binaires compilés avec la STL aux utilisateurs finaux.

Les principaux objectifs du projet incluent le respect total des exigences des spécifications, garantissant des performances élevées, une facilité d'utilisation (outils de débogage, diagnostics, détection d'erreurs) et une compatibilité au niveau du code source et de l'ABI avec les versions précédentes de Visual Studio 2015/2017. Parmi les domaines que Microsoft ne souhaite pas développer figurent le portage sur d'autres plates-formes et l'ajout d'extensions non standard.

Source: opennet.ru

Ajouter un commentaire