Microsoft open sourced ang C++ standard library na kasama sa Visual Studio

Sa CppCon 2019 conference na nagaganap sa mga araw na ito, ang Microsoft inihayag ang tungkol sa pagbubukas ng code ng kanyang pagpapatupad ng C++ Standard Library (STL, C++ Standard Library), na bahagi ng MSVC toolkit at Visual Studio development environment. Ipinapatupad ng library ang mga kakayahan na inilarawan sa kasalukuyang mga pamantayan ng C++14 at C++17, at umuunlad din patungo sa suporta para sa hinaharap na pamantayan ng C++20, kasunod ng mga pagbabago sa kasalukuyang gumaganang draft. Code bukas sa ilalim ng lisensya ng Apache 2.0 na may mga pagbubukod para sa mga binary file na lumulutas sa problema ng pagsasama ng mga runtime na aklatan sa mga nabuong executable na file.

Ang pagbuo ng library na ito sa hinaharap ay binalak na isakatuparan bilang isang bukas na proyekto na binuo sa GitHub, tumatanggap ng mga pull request mula sa mga third-party na developer na may mga pagwawasto at ang pagpapatupad ng mga bagong feature (ang pakikilahok sa development ay nangangailangan ng pagpirma ng isang kasunduan sa CLA sa paglipat ng mga karapatan sa ari-arian sa inilipat na code). Napansin na ang paglipat ng pag-develop ng STL sa GitHub ay makakatulong sa mga customer ng Microsoft na subaybayan ang pag-unlad ng pag-unlad, mag-eksperimento sa mga pinakabagong pagbabago at tumulong na suriin ang mga papasok na kahilingan para sa pagdaragdag ng mga inobasyon.

Ang open source ay magbibigay-daan din sa komunidad na gumamit ng mga handa na pagpapatupad ng mga tampok mula sa mga bagong pamantayan sa iba pang mga proyekto. Halimbawa, ang lisensya ng code ay pinili upang magbigay ng kakayahang magbahagi ng code sa library libc++ mula sa proyekto ng LLVM. Ang STL at libc++ ay naiiba sa panloob na representasyon ng mga istruktura ng data, ngunit kung ninanais, ang mga developer ng libc++ ay maaaring mag-port ng functionality ng interes mula sa STL (halimbawa, charconv) o ang parehong mga proyekto ay maaaring magkasamang bumuo ng ilang mga inobasyon. Ang mga pagbubukod na idinagdag sa lisensya ng Apache ay nag-aalis ng pangangailangan na banggitin ang paggamit ng orihinal na produkto kapag naghahatid ng mga binary na pinagsama-sama sa STL sa mga end user.

Kabilang sa mga pangunahing layunin ng proyekto ang ganap na pagsunod sa mga kinakailangan sa detalye, pagtiyak ng mataas na performance, kadalian ng paggamit (mga tool sa pag-debug, diagnostic, pagtuklas ng error) at pagiging tugma sa antas ng source code at ABI sa mga nakaraang release ng Visual Studio 2015/2017. Kabilang sa mga lugar na hindi interesado sa pagbuo ng Microsoft ay ang pag-port sa ibang mga platform at pagdaragdag ng mga hindi karaniwang extension.

Pinagmulan: opennet.ru

Magdagdag ng komento