微软近日宣布开源其 MSVC 的 C++ 标准库实现(也就是 STL),该库实现是 MSVC 工具集和 Visual Studio IDE 的一部分。
微软表示开源 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 子目录中(但在微软外不能用就是了)。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/127408.html