Microsoft нь Visual Studio-д багтсан C++ стандарт номын санг нээлттэй эх сурвалжтай болгосон

Эдгээр өдрүүдэд болж буй CppCon 2019 бага хуралд Майкрософт зарласан MSVC хэрэглүүр болон Visual Studio хөгжүүлэлтийн орчны нэг хэсэг болох C++ стандарт номын сангийн (STL, C++ стандарт номын сан) түүний хэрэгжилтийн кодыг нээх тухай. Номын сан нь одоогийн C++14 болон C++17 стандартуудад тодорхойлсон чадавхийг хэрэгжүүлдэг бөгөөд одоогийн ажлын төсөлд өөрчлөлт орсны дараа ирээдүйн C++20 стандартыг дэмжих тал дээр хөгжиж байна. Код нээлттэй Apache 2.0 лицензийн дагуу үүсгэгдсэн гүйцэтгэгдэх файлуудад ажиллах цагийн санг оруулах асуудлыг шийддэг хоёртын файлуудаас бусад тохиолдолд.

Ирээдүйд энэхүү номын санг хөгжүүлэх ажлыг GitHub дээр боловсруулсан нээлттэй төсөл хэлбэрээр хийхээр төлөвлөж байгаа бөгөөд гуравдагч талын хөгжүүлэгчдээс залруулга, шинэ функцуудыг хэрэгжүүлэх хүсэлтийг хүлээн авахаар төлөвлөж байна (хөгжилд оролцохын тулд шилжүүлэх тухай CLA гэрээнд гарын үсэг зурах шаардлагатай). шилжүүлсэн кодын эд хөрөнгийн эрхийн тухай). STL хөгжүүлэлтийг GitHub руу шилжүүлснээр Microsoft-ын хэрэглэгчид хөгжлийн явцыг хянах, хамгийн сүүлийн үеийн өөрчлөлтүүдийг туршиж үзэх, шинэлэг зүйл нэмэх хүсэлтийг хянахад тусална гэж тэмдэглэжээ.

Нээлттэй эх сурвалж нь бусад төслүүдэд шинэ стандартын функцүүдийн бэлэн хэрэгжилтийг олон нийтэд ашиглах боломжийг олгоно. Жишээлбэл, номын сантай код хуваалцах боломжийг олгох үүднээс кодын лицензийг сонгосон libc++ LLVM төслөөс. STL болон libc++ нь өгөгдлийн бүтцийн дотоод дүрслэлээрээ ялгаатай боловч хэрэв хүсвэл libc++ хөгжүүлэгчид STL-ээс сонирхсон функцийг (жишээ нь charconv) порт хийх боломжтой эсвэл хоёр төсөл хамтран зарим шинэлэг зүйлийг боловсруулж болно. Apache лиценз дээр нэмсэн үл хамаарах зүйлүүд нь эцсийн хэрэглэгчдэд STL-ээр эмхэтгэсэн хоёртын файлуудыг хүргэх үед анхны бүтээгдэхүүний хэрэглээг дурдах шаардлагыг хассан.

Төслийн гол зорилго нь техникийн үзүүлэлтүүдийн шаардлагыг бүрэн дагаж мөрдөх, өндөр гүйцэтгэлийг хангах, ашиглахад хялбар (дибаг хийх хэрэгсэл, оношлогоо, алдаа илрүүлэх) болон эх кодын түвшинд нийцтэй байх ба Visual Studio 2015/2017-ийн өмнөх хувилбаруудтай ABI. Майкрософт хөгжүүлэх сонирхолгүй байгаа газруудын нэг нь бусад платформууд руу шилжих, стандарт бус өргөтгөлүүдийг нэмэх явдал юм.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх