Microsoft izlaida standarta C ++ bibliotēkas kodu, kas ir Visual Studio

microsoft logotips

Microsoft logotips

CppCon 2019 konferencē kas tiek svinēts šajās dienās, Microsoft eksponenti izmantoja iespēju, lai paziņotu par koda atvēršanu tā īstenošanai no C ++ standarta bibliotēkas (pazīstams arī kā STL), kas ir daļa no MSVC rīkkopa un Visual Studio izstrādes vides.

Bibliotēka īsteno iespējas, kas aprakstītas pašreizējos C ++ 14 un C ++ 17 standartos, un tas tiek izstrādāts arī topošā C ++ 20 standarta atbalstīšanas virzienā, ievērojot izmaiņas pašreizējā darba projektā.

Ar iemesli, kāpēc Microsoft ļaudis ir nolēmuši veikt šo soli, paziņojumā viņi paskaidro:

Ir vairāki iemesli, kāpēc mēs to darām. Viens no tiem ir strādāt pie STL vietnē GitHub. Tas ļaus mūsu klientiem sekot mūsu attīstībai, kā tas notiek, pārbaudīt mūsu jaunākās izmaiņas un palīdzēs mums uzlabot pieprasījuma pieprasījumus, tos pārskatot.

Tā kā C ++ standartizācija paātrinās un katru gadu tiek balsots par lielākām funkcijām, mēs domājam, ka būs svarīgi pieņemt galvenās iezīmes kā atvērtā pirmkoda ieguldījumu. (Piemēram, C ++ 20 formāts un hronoloģiskās bibliotēkas ir potenciālie kandidāti.) Mēs arī vēlamies sniegt ieguldījumu C ++ kopienā, padarot iespējamu mūsu pamatfunkciju īstenošanu. (Piemēram, charconv no C ++ 17)

Ar to Microsoft cilvēki paziņoja, ka viņi plāno turpināt attīstīt šo bibliotēku kā atvērtu projektu kas tiek izstrādāts vietnē GitHub, kas pieņems pieprasījumus no ārējiem izstrādātājiem ar labojumiem un jaunu funkciju ieviešanu (lai piedalītos izstrādē, ir nepieciešams CLA līgums, lai nodotu īpašumtiesības uz pārsūtīto kodu).

Tiek novērots, ka izstrādes pārsūtīšana no STL uz GitHub palīdzēs Microsoft klientiem izsekot izstrādes progresu, eksperimentēt ar jaunākajām izmaiņām un palīdzēt pārskatīt ienākošos pieprasījumus pēc jauninājumiem.

Atveriet arī kodu ļaut kopienai izmantot gatavus ieviešanas veidus jaunu standartu iespējas citos projektos.

Par šīs bibliotēkas koda licenci, Tas tiek piedāvāts kā atvērts ar Apache 2.0 licenci, izņemot bināros failus, kas atrisina problēmu par izpildlaika bibliotēku iekļaušanu ģenerēto izpildāmo failu sastāvā.

Lai būtu skaidrs, MSVC STL netiek apvienots ar libc ++, jo tās joprojām ir atsevišķas bibliotēkas.

Microsoft izskaidro koda licences iemeslu ir izvēlēts tā, lai atļautu koda apmaiņu ar LLVM projekta libc ++ bibliotēku. STL un libc ++ atšķiras no datu struktūru iekšējās attēlojuma, taču, ja vēlas, libc ++ izstrādātāji var pārnest interesantas STL funkcijas (piemēram, charconv) vai arī abi projekti var kopīgi izstrādāt dažas inovācijas.

MSVC STL tiek izplatīta ar Apache v2.0 licenci ar LLVM izņēmumiem, ko nesen izveidoja Clang / LLVM / libc ++ projekts.

Apache licencei pievienotie izņēmumi atceļ prasību pieminēt avota produkta izmantošanu, piegādājot galalietotājiem STL apkopotus bināros failus.

Šī atļautā atvērtā koda licence tika izvēlēta tāpēc, ka tai ir tāda pati licence kā libc ++ kas atvieglos koda koplietošanu starp bibliotēkām. Lai būtu skaidrs, MSVC STL netiek apvienots ar libc ++; tās joprojām ir atšķirīgas bibliotēkas, kas atbalsta dažādas platformas ar atšķirīgu datu struktūras attēlojumu.

No otras puses, vienu no projekta galvenajiem mērķiem sauc par pilnīgu atbilstību prasībām specifikācijas, nodrošinot augstu veiktspēju, ērtu lietošanu (atkļūdošana, diagnostika, kļūdu noteikšanas rīki), kā arī avota un ABI līmeņa saderību ar Visual Studio 2015/2017 iepriekšējām versijām.

Starp jomām, kas Microsoft nav ieinteresēts attīstīt pārnesamību uz citām platformām un pielāgotu paplašinājumu pievienošanu.

Ja vēlaties uzzināt vairāk par Microsoft paziņojumu, varat to apskatīt Šajā saitē.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: AB Internet Networks 2008 SL
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.