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

添加評論