Microsoft meluncurkan kode pustaka C ++ standar yang ada di Visual Studio

Logo Microsoft

Logo Microsoft

Pada konferensi CppCon 2019 yang telah dirayakan akhir-akhir ini, eksponen Microsoft mengambil kesempatan untuk membuat pengumuman pembukaan kode untuk implementasinya dari C ++ Standard Library (juga dikenal sebagai STL), yang merupakan bagian dari MSVC Toolkit dan lingkungan pengembangan Visual Studio.

Library mengimplementasikan kapabilitas yang dijelaskan dalam standar C ++ 14 dan C ++ 17 saat ini, dan juga dikembangkan untuk mendukung standar C ++ 20 mendatang, mengikuti perubahan draf kerja saat ini.

Oleh alasan mengapa orang-orang di Microsoft memutuskan untuk melakukan langkah ini, dalam pernyataan tersebut mereka menjelaskan:

Ada beberapa alasan mengapa kami melakukan ini, salah satunya adalah untuk mengerjakan STL di GitHub, ini akan memungkinkan pelanggan kami untuk mengikuti perkembangan kami saat itu terjadi, menguji perubahan terbaru kami dan membantu kami meningkatkan permintaan tarik kami dengan meninjaunya.

Seiring percepatan standardisasi C ++, dan fitur yang lebih besar dipilih setiap tahun, menurut kami penting untuk menerima fitur inti sebagai kontribusi open source. (Misalnya, format C ++ 20 dan pustaka kronologis adalah kandidat potensial.) Kami juga ingin berkontribusi kembali ke komunitas C ++ dengan memungkinkan penerapan fungsi inti kami. (Misalnya, charconv dari C ++ 17)

Dengan itu Orang Microsoft memberitahukan bahwa mereka berencana untuk terus mengembangkan perpustakaan ini sebagai proyek terbuka yang sedang dikembangkan di GitHub yang akan menerima permintaan pull dari pengembang eksternal dengan perbaikan dan implementasi fitur baru (untuk berpartisipasi dalam pengembangan, perjanjian CLA diperlukan untuk mentransfer hak kepemilikan ke kode yang ditransfer).

Hal itu diamati mentransfer pengembangan dari STL ke GitHub akan membantu pelanggan Microsoft untuk Melacak kemajuan pengembangan, bereksperimen dengan perubahan terbaru, dan membantu meninjau permintaan inovasi yang masuk.

Buka kodenya juga memungkinkan komunitas untuk menggunakan implementasi yang sudah jadi peluang untuk standar baru dalam proyek lain.

Tentang lisensi kode perpustakaan ini, Diusulkan sebagai terbuka di bawah lisensi Apache 2.0 dengan pengecualian untuk file biner yang memecahkan masalah termasuk pustaka runtime dalam komposisi file yang dapat dieksekusi yang dihasilkan.

Untuk lebih jelasnya, MSVC STL tidak bergabung dengan libc ++ karena masih merupakan perpustakaan terpisah.

Microsoft menjelaskan mengapa lisensi kode dipilih sedemikian rupa untuk memungkinkan pertukaran kode dengan perpustakaan libc ++ proyek LLVM. STL dan libc ++ berbeda dalam representasi internal dari struktur data, tetapi jika mereka mau, pengembang libc ++ dapat membawa fungsionalitas STL yang menarik (misalnya charconv) atau kedua proyek dapat bersama-sama mengembangkan beberapa inovasi.

MSVC STL didistribusikan di bawah lisensi Apache v2.0 dengan pengecualian LLVM, yang baru-baru ini dibuat oleh proyek Clang / LLVM / libc ++.

Pengecualian yang ditambahkan ke lisensi Apache membatalkan persyaratan untuk menyebutkan penggunaan produk sumber saat mengirimkan biner yang dikompilasi STL ke pengguna akhir.

Lisensi sumber terbuka permisif ini dipilih karena memiliki lisensi yang sama dengan libc ++ yang akan memudahkan untuk berbagi kode antar perpustakaan. Untuk lebih jelasnya, MSVC STL tidak digabungkan dengan libc ++; mereka masih perpustakaan berbeda yang mendukung platform berbeda dengan representasi struktur data yang berbeda.

Di sisi lain, salah satu tujuan utama proyek disebut kepatuhan total dengan persyaratan spesifikasi, memastikan kinerja tinggi, kemudahan penggunaan (debugging, diagnostik, alat deteksi kesalahan), dan sumber dan kompatibilitas tingkat ABI dengan versi sebelumnya dari Visual Studio 2015/2017.

Diantara bidang-bidang itu Microsoft tidak tertarik untuk mengembangkan portabilitas ke platform lain dan menambahkan ekstensi kustom.

Jika Anda ingin mengetahui lebih banyak tentang pernyataan yang dibuat oleh Microsoft, Anda dapat berkonsultasi dengannya Di tautan berikut.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Bertanggung jawab atas data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.