Microsoft ha reso pubblico il codice della libreria standard C++ fornita con Visual Studio.

Durante la conferenza CppCon 2019, Microsoft ha annunciato l'apertura del codice della propria implementazione della libreria standard C++ (STL, C++ Standard Library), che fa parte degli strumenti di MSVC e dell'ambiente di sviluppo Visual Studio. La libreria implementa le funzionalità descritte negli attuali standard C++14 e C++17 e si sta sviluppando verso il supporto del futuro standard C++20, seguendo le modifiche nel corrente draft di lavoro. Il codice è aperto è sotto licenza Apache 2.0 con eccezioni per i file binari, risolvendo il problema dell'inclusione delle librerie runtime nei file eseguibili generati.

Lo sviluppo di questa libreria sarà proseguito come progetto open source attivo su GitHub, accettando richieste di pull da parte di sviluppatori esterni con correzioni e nuove funzionalità (per partecipare allo sviluppo è necessario firmare un accordo CLA riguardante la cessione dei diritti patrimoniali sul codice inviato). Si segnala che il trasferimento dello sviluppo STL su GitHub aiuterà i clienti Microsoft a tenere traccia del progresso dello sviluppo, a sperimentare con le modifiche più recenti e a contribuire alla revisione delle richieste di aggiunta di novità.

L'apertura del codice consentirà anche alla comunità di utilizzare in altri progetti le implementazioni pronte delle funzionalità dei nuovi standard. Ad esempio, la licenza sul codice è stata scelta in modo da permettere la condivisione del codice con la libreria libc++ dal progetto LLVM. STL e libc++ differiscono nella rappresentazione interna delle strutture dati, ma se lo desiderano, gli sviluppatori di libc++ possono portare le funzionalità di interesse da STL (ad esempio, charconv) o entrambi i progetti possono sviluppare innovazioni congiuntamente. Le eccezioni aggiunte alla licenza Apache annullano i requisiti di menzione dell'uso del prodotto originale al momento della fornitura di file binari compilati con STL agli utenti finali.

Tra gli obiettivi chiave del progetto c'è la completa conformità ai requisiti delle specifiche, garantire elevate prestazioni, facilità d'uso (strumenti di debugging, diagnostica, rilevamento errori) e compatibilità a livello di codice sorgente e ABI con le versioni precedenti di Visual Studio 2015/2017. Tra i settori che Microsoft non intende sviluppare, si evidenziano il porting su altre piattaforme e l'aggiunta di estensioni non standard.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster