Microsoft 开源了 Visual Studio 中包含的 C++ 标准库

在这几天举行的 CppCon 2019 大会上,微软 宣布了 关于开放他的C++标准库(STL,C++标准库)实现的代码,它是MSVC工具包和Visual Studio开发环境的一部分。 该库实现了当前 C++14 和 C++17 标准中描述的功能,并且根据当前工作草案的更改,不断发展以支持未来的 C++20 标准。 代码 是开放的 在 Apache 2.0 许可证下,二进制文件除外,它解决了在生成的可执行文件中包含运行时库的问题。

该库未来的开发计划作为在GitHub上开发的开放项目进行,接受第三方开发者的pull request并进行修正和新功能的实现(参与开发需要签署CLA转让协议)所转移代码的产权)。 值得注意的是,将STL开发转移到GitHub将有助于微软客户跟踪开发进度、试验最新更改并帮助审查收到的添加创新请求。

开源还允许社区在其他项目中使用新标准功能的现成实现。 例如,选择代码许可证是为了提供与库共享代码的能力 库++ 来自 LLVM 项目。 STL 和 libc++ 在数据结构的内部表示方面有所不同,但如果需要,libc++ 开发人员可以从 STL 移植感兴趣的功能(例如 charconv),或者两个项目可以共同开发一些创新。 添加到 Apache 许可证的例外情况消除了在向最终用户交付使用 STL 编译的二进制文件时引用原始产品的使用的要求。

该项目的主要目标包括完全符合规范要求、确保高性能、易用性(调试工具、诊断、错误检测)以及源代码级别的兼容性以及与 Visual Studio 2015/2017 早期版本的 ABI。 微软对开发不感兴趣的领域包括移植到其他平台和添加非标准扩展。

来源: opennet.ru

添加评论