Microsoft, Visual Studio'da bulunan standart C ++ kitaplık kodunu yayınladı

microsoft logosu

Microsoft logosu

CppCon 2019 konferansında bu günlerde kutlanan Microsoft üsleri, kodun açıldığını duyurma fırsatını yakaladı uygulaması için C ++ Standart Kitaplığından MSVC Toolkit ve Visual Studio geliştirme ortamının bir parçası olan (STL olarak da bilinir).

Kütüphane, mevcut C ++ 14 ve C ++ 17 standartlarında açıklanan yetenekleri uygular, ayrıca mevcut çalışma taslağındaki değişiklikleri takiben geleceğin C ++ 20 standardını desteklemek doğrultusunda geliştirilmiştir.

Según Microsoft'taki insanların bu hareketi yapmaya karar vermelerinin nedenleri, açıkladıkları açıklamada:

Bunu yapmamızın birkaç nedeni var, bunlardan biri GitHub'da STL üzerinde çalışmak, bu, müşterilerimizin gelişimimizi olduğu gibi takip etmelerine, en son değişikliklerimizi test etmelerine ve bunları gözden geçirerek çekme taleplerimizi iyileştirmemize yardımcı olacak.

C ++ standardizasyonu hızlandıkça ve her yıl daha büyük özellikler oylandıkça, temel özellikleri açık kaynak katkıları olarak kabul etmenin önemli olacağını düşünüyoruz. (Örneğin, C ++ 20 biçimi ve kronolojik kitaplıklar potansiyel adaylardır.) Ayrıca, temel işlevlerimizin uygulanmasını mümkün kılarak C ++ topluluğuna katkıda bulunmak istiyoruz. (Örneğin, C ++ 17'den charconv)

Bununla Microsoft çalışanları, bu kitaplığı açık bir proje olarak geliştirmeye devam etmeyi planladıklarının bilinmesine izin verdi Harici geliştiricilerin çekme isteklerini düzeltmelerle ve yeni özelliklerin uygulanmasını kabul edecek olan GitHub üzerinde geliştirilmekte olan (geliştirmeye katılmak için, sahiplik haklarının aktarılan koda aktarılması için bir CLA sözleşmesi gerekir)

Gözlenmektedir ki geliştirmeyi STL'den GitHub'a aktarmak Microsoft müşterilerinin Geliştirme sürecini takip edin, en son değişiklikleri deneyin ve gelen yenilik taleplerinin incelenmesine yardımcı olun.

Kodu da açın topluluğun hazır uygulamaları kullanmasına izin verin diğer projelerde yeni standartlar için fırsatlar.

Bu kütüphanenin kodunun lisansı hakkında, Oluşturulan çalıştırılabilir dosyaların bileşimine çalışma zamanı kitaplıklarının dahil edilmesi sorununu çözen ikili dosyalar istisnalarıyla Apache 2.0 lisansı altında açık olarak önerilmiştir.

Açık olmak gerekirse, MSVC STL, hala ayrı kitaplıklar oldukları için libc ++ ile birleşmiyor.

Microsoft, kod lisansının neden kodun LLVM projesinin libc ++ kitaplığıyla değiştirilmesine izin verecek şekilde seçilir. STL ve libc ++, veri yapılarının iç sunumunda farklılık gösterir, ancak eğer isterlerse, libc ++ geliştiricileri ilginç STL işlevlerini (örn. Charconv) taşıyabilir veya her iki proje birlikte bazı yenilikler geliştirebilir.

MSVC STL, yakın zamanda Clang / LLVM / libc ++ projesi tarafından oluşturulan LLVM istisnaları ile Apache v2.0 lisansı altında dağıtılmaktadır.

Apache lisansına eklenen istisnalar, son kullanıcılara STL ile derlenmiş ikili dosyalar sunarken kaynak ürünün kullanımından bahsetme gerekliliğini ortadan kaldırır.

Bu izin verilen açık kaynak lisansı, libc ++ ile aynı lisansa sahip olduğu için seçildi bu, kütüphaneler arasında kod paylaşımını kolaylaştıracaktır. Açık olmak gerekirse, MSVC STL libc ++ ile birleştirilmiyor; hala farklı veri yapısı temsillerine sahip farklı platformları destekleyen ayrı kitaplıklardır.

Öte yandan, projenin temel amaçlarından birine gereksinimlere tam uyum denir. özellikler, yüksek performans, kullanım kolaylığı (hata ayıklama, tanılama, hata algılama araçları) ve Visual Studio 2015 / 2017'nin önceki sürümleriyle kaynak ve ABI düzeyinde uyumluluk sağlar.

Alanlar arasında Microsoft, diğer platformlara taşınabilirlik ve özel uzantılar eklemekle ilgilenmiyor.

Microsoft tarafından yapılan açıklama hakkında daha fazla bilgi edinmek istiyorsanız, ona danışabilirsiniz. Aşağıdaki bağlantıda.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: AB Internet Networks 2008 SL
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.