Microsoft abrió la biblioteca estándar C++ incluida con Visual Studio

En la conferencia CppCon 2019 que se desarrolla estos días, Microsoft anunció el sobre cómo abrir el código de su implementación de la Biblioteca estándar C++ (STL, Biblioteca estándar C++), que forma parte del kit de herramientas MSVC y del entorno de desarrollo Visual Studio. La biblioteca implementa las capacidades descritas en los estándares actuales C++14 y C++17, y también está evolucionando hacia el soporte para el futuro estándar C++20, luego de los cambios en el borrador de trabajo actual. Código está abierto bajo la licencia Apache 2.0 con excepciones para archivos binarios que resuelven el problema de incluir bibliotecas de tiempo de ejecución en los archivos ejecutables generados.

Está previsto que el desarrollo de esta biblioteca en el futuro se lleve a cabo como un proyecto abierto desarrollado en GitHub, aceptando solicitudes de extracción de desarrolladores externos con correcciones e implementación de nuevas funciones (la participación en el desarrollo requiere la firma de un acuerdo CLA sobre la transferencia de derechos de propiedad sobre el código transferido). Cabe señalar que la transferencia del desarrollo STL a GitHub ayudará a los clientes de Microsoft a seguir el progreso del desarrollo, experimentar con los últimos cambios y ayudar a revisar las solicitudes entrantes para agregar innovaciones.

El código abierto también permitirá a la comunidad utilizar implementaciones listas para usar de características de los nuevos estándares en otros proyectos. Por ejemplo, la licencia de código se elige para brindar la posibilidad de compartir código con la biblioteca. libc ++ del proyecto LLVM. STL y libc++ difieren en la representación interna de las estructuras de datos, pero si lo desean, los desarrolladores de libc++ pueden portar funcionalidades de interés de STL (por ejemplo, charconv) o ambos proyectos pueden desarrollar conjuntamente algunas innovaciones. Las excepciones agregadas a la licencia de Apache eliminan el requisito de citar el uso del producto original al entregar archivos binarios compilados con STL a los usuarios finales.

Los objetivos clave del proyecto incluyen el cumplimiento total de los requisitos de las especificaciones, garantizando un alto rendimiento, facilidad de uso (herramientas de depuración, diagnóstico, detección de errores) y compatibilidad a nivel de código fuente y ABI con versiones anteriores de Visual Studio 2015/2017. Entre las áreas que Microsoft no está interesado en desarrollar se encuentran la migración a otras plataformas y la adición de extensiones no estándar.

Fuente: opennet.ru

Añadir un comentario