Microsoft sumber terbuka perpustakaan standard C++ disertakan dengan Visual Studio

Pada persidangan CppCon 2019 yang berlangsung hari ini, Microsoft mengumumkan mengenai membuka kod pelaksanaan Perpustakaan Standard C++ (STL, Perpustakaan Standard C++), yang merupakan sebahagian daripada kit alat MSVC dan persekitaran pembangunan Visual Studio. Perpustakaan melaksanakan keupayaan yang diterangkan dalam piawaian C++14 dan C++17 semasa, dan juga berkembang ke arah sokongan untuk piawaian C++20 masa hadapan, berikutan perubahan dalam draf kerja semasa. Kod ia terbuka di bawah lesen Apache 2.0 dengan pengecualian untuk fail binari yang menyelesaikan masalah memasukkan perpustakaan masa jalan dalam fail boleh laku yang dijana.

Pembangunan perpustakaan ini pada masa hadapan dirancang untuk dijalankan sebagai projek terbuka yang dibangunkan di GitHub, menerima permintaan tarik daripada pembangun pihak ketiga dengan pembetulan dan pelaksanaan ciri baharu (penyertaan dalam pembangunan memerlukan menandatangani perjanjian CLA mengenai pemindahan hak harta kepada kod yang dipindahkan). Dimaklumkan bahawa pemindahan pembangunan STL kepada GitHub akan membantu pelanggan Microsoft menjejaki kemajuan pembangunan, bereksperimen dengan perubahan terkini dan membantu menyemak permintaan masuk untuk menambah inovasi.

Sumber terbuka juga akan membolehkan komuniti menggunakan pelaksanaan siap sedia bagi ciri daripada piawaian baharu dalam projek lain. Sebagai contoh, lesen kod dipilih untuk menyediakan keupayaan untuk berkongsi kod dengan perpustakaan libc++ daripada projek LLVM. STL dan libc++ berbeza dalam perwakilan dalaman struktur data, tetapi jika dikehendaki, pembangun libc++ boleh memindahkan fungsi yang diminati daripada STL (contohnya, charconv) atau kedua-dua projek boleh membangunkan beberapa inovasi secara bersama. Pengecualian yang ditambahkan pada lesen Apache mengalih keluar keperluan untuk memetik penggunaan produk asal apabila menghantar binari yang disusun dengan STL kepada pengguna akhir.

Matlamat utama projek termasuk pematuhan penuh dengan keperluan spesifikasi, memastikan prestasi tinggi, kemudahan penggunaan (alat penyahpepijat, diagnostik, pengesanan ralat) dan keserasian pada tahap kod sumber dan ABI dengan keluaran Visual Studio 2015/2017 sebelumnya. Antara bidang yang Microsoft tidak berminat untuk membangunkan adalah mengalihkan ke platform lain dan menambah sambungan bukan standard.

Sumber: opennet.ru

Tambah komen