微软代表开源 STL

微软近日宣布开源其 MSVC 的 C++
标准库实现(也就是
STL),该库实现是 MSVC 工具集和 Visual Studio IDE 的一部分。

图片 1

微软表示开源 STL
可以使开发者随时了解其发展情况,使用最新更新,并且帮助完善项目。“随着
C++
标准化的加速发展,并且每年都会有更多的重大特性被投票,我们相信从开源贡献中接受主要特性将很重要。”

项目采用 Apache License v2.0 with LLVM Exceptions
协议,微软表示选择这个协议的原因是这样可以方便 libc++ 项目与 STL
共享代码。需要注意的是 STL 与 libc++
并没有合并,二者仍然是支持不同平台的不同库,有着不同的数据结构表示。

但如果 libc++ 的维护者有兴趣移植 MSVC 的 STL
实现的特性,或协作同时开发新的特性,那么两个项目之间的合作无需考虑许可证问题。

微软表示目前正在开发一个 CMake 构建系统,该系统目前能够构建原生桌面的
STL,需要扩展它以构建 MSVC 工具集所需的所有类型(例如
/clr、/clr:pure、OneCore 与
Spectre)。在完成此工作之前,团队会将旧的构建系统保留在 stl/msbuild
子目录中(但在微软外不能用就是了)。

(文/开源中国)