A Microsoft abriu o código-fonte da biblioteca padrão C++ incluída no Visual Studio

Na conferência CppCon 2019 que acontece hoje, a Microsoft anunciou o sobre a abertura do código de sua implementação da Biblioteca Padrão C++ (STL, C++ Standard Library), que faz parte do kit de ferramentas MSVC e do ambiente de desenvolvimento do Visual Studio. A biblioteca implementa os recursos descritos nos padrões atuais C++14 e C++17 e também está evoluindo para suporte ao futuro padrão C++20, seguindo as alterações no rascunho de trabalho atual. Código está aberto sob a licença Apache 2.0 com exceções para arquivos binários que resolvem o problema de inclusão de bibliotecas de tempo de execução nos arquivos executáveis ​​gerados.

O desenvolvimento desta biblioteca no futuro está planejado para ser realizado como um projeto aberto desenvolvido no GitHub, aceitando pull requests de desenvolvedores terceirizados com correções e implementação de novos recursos (a participação no desenvolvimento requer a assinatura de um acordo CLA sobre a transferência de direitos de propriedade sobre o código transferido). Observa-se que a transferência do desenvolvimento STL para o GitHub ajudará os clientes da Microsoft a acompanhar o progresso do desenvolvimento, experimentar as mudanças mais recentes e ajudar a revisar as solicitações recebidas para adicionar inovações.

O código aberto também permitirá que a comunidade use implementações prontas de recursos dos novos padrões em outros projetos. Por exemplo, a licença de código é escolhida para fornecer a capacidade de compartilhar código com a biblioteca libc ++ do projeto LLVM. STL e libc++ diferem na representação interna de estruturas de dados, mas se desejarem, os desenvolvedores de libc++ podem portar funcionalidades de interesse do STL (por exemplo, charconv) ou ambos os projetos podem desenvolver em conjunto algumas inovações. As exceções adicionadas à licença Apache removem a exigência de citar o uso do produto original ao entregar binários compilados com STL aos usuários finais.

Os principais objetivos do projeto incluem total conformidade com os requisitos de especificação, garantindo alto desempenho, facilidade de uso (ferramentas de depuração, diagnóstico, detecção de erros) e compatibilidade em nível de código fonte e ABI com versões anteriores do Visual Studio 2015/2017. Entre as áreas que a Microsoft não tem interesse em desenvolver estão a portabilidade para outras plataformas e a adição de extensões fora do padrão.

Fonte: opennet.ru

Adicionar um comentário