مایکروسافت این کد را از اجرای STL ، کتابخانه استاندارد C ++ منتشر کرد

منبع باز STL

کنفرانس CppCon 2019 مکانی برای برگزاری بود تحقق اعلامیه بزرگی از طرف مایکروسافت ، خوب در او از انتشار کد منبع کتابخانه STL رونمایی کرد استاندارد C ++ همراه با Visual C ++ که از زمان اعلام موجود است تحت مجوز رایگان ، به طور خاص Apache 2.0 (که کاملاً مجاز است).

libcxx ، کتابخانه استاندارد LLVM / Clang C ++ ، از قبل از این مجوز استفاده می کند، که باید تبادل کد بین پروژه ها را تسهیل کند. همه کد منبع این کتابخانه با Visual C ++ در دسترس و سازگار است ، اما آزمایش هنوز شامل نشده است.

پیش بینی می شود پروژه باز در GitHub توسعه یافته و درخواست های کشش را دریافت کند شخص ثالث با ویژگی ها و وصله های جدید. برای عضو شدن باید توافق نامه انتقال کد CLA را امضا کنید.

تیم MSVC معتقد است که مهاجرت از STL به GitHub به مشتریان مایکروسافت کمک می کند تا روند توسعه را در جریان بمانند ، نوآوری ها را تجربه کنند و به توسعه پروژه کمک کنند.

در عوض، توسعه دهندگان می توانند از استانداردهای جدید خارج از چارچوب در سایر پروژه ها استفاده کنند.

به عنوان مثال ، می توانید کد را با کتابخانه libc ++ که در پروژه LLVM کار می کند مبادله کنید. مایکروسافت تأکید می کند که STL و libc ++ با هم ادغام نمی شوند ، آنها هنوز هم کتابخانه های مختلفی هستند ، با ساختارها و سکوهای مختلف با این حال ، اکنون می توانید بدون نگرانی در مورد صدور مجوز ، روی ویژگی های جدید هر دو کتابخانه کار کنید

این پیاده سازی کتابخانه استاندارد برای رقابت با پیاده سازی های ارائه شده توسط GCC یا Clang در نظر گرفته نشده است ، به عنوان مثال: پروژه مایکروسافت قصد ندارد از سیستم عامل های دیگر به غیر از مایکروسافت پشتیبانی کند.

با این حال ، هدف توسعه دهندگان پیاده سازی با کیفیت بالا است: مطابق با استاندارد و بسیار سریع.

سازگاری دودویی با نسخه های ویژوال C ++ 2015 و 2017 تضمین شده است (این کتابخانه کتابخانه ارائه شده با نسخه 2019 است) ، به جز ویژگی هایی که قبل از نهایی شدن استاندارد (اسناد کاری و مشخصات فنی کمیته استاندارد C ++) اجرا شده است.

شعبه WCBF02 (هنوز داخلی مایکروسافت است) شامل تغییرات ناسازگار در سطح باینری است ، اما در سطح منبع نیست (برای به روزرسانی استاندارد کتابخانه ، شما باید پروژه های خود را دوباره کامپایل کنید ، نه فقط DLL را تغییر دهید). این شعبه شامل تعدادی از اصلاحات و اصلاحات است و به زودی در دسترس عموم قرار خواهد گرفت.

برخلاف برخی از پروژه ها که به عنوان رایگان توصیف شده اند ، مایکروسافت توصیه می کند نقایص را گزارش دهید و در کد پروژه مشارکت داشته باشید (در این حالت ، امضای CLA لازم است تا مایکروسافت حقوق لازم برای توزیع مجدد کمک ها را به خصوص در صورت تغییر مجوز پروژه ، مشکلی که LLVM چندین سال با آن روبرو شده است ، به مایکروسافت اعطا کند.

در آینده ی نزدیک، مایکروسافت باید مجموعه تست داخلی خود را به پروژه اضافه کند. لیست اشکالات تشدید شده داخلی در حال انتقال به GitHub است. در حال حاضر تدوین با MSBuild انجام شده است ، اما انتقال به CMake در حال انجام است. قابلیت های C ++ 20 در حال اجرا است.

سایر اجزای Visual C ++ نباید برای مجوزهای رایگان در دسترس باشند. مایکروسافت این انتخاب را با بیان اینکه کتابخانه استاندارد C ++ نسبتاً کامپایلر مستقل است (به عنوان مثال در مقابل کتابخانه استاندارد C) توجیه می کند و در مقایسه با سایر اجزای کامپایلر بسیار سریع تکامل می یابد.

کد منبع STL واقع شده است اکنون در Github موجود است جایی که افراد علاقه مند می توانند آن را بارگیری کنند یا می توانند کد آن را بررسی کنند.

مخزن GitHub دارای تمام کد منبع برای محصول است ، یک سیستم ساخت جدید CMake و README با اطلاعات بیشتر. این کتابخانه تحت مجوز Apache 2.0 (به استثنای برخی باینری ها) مجوز دارد.

بدیهی است این بر توسعه دهندگانی که فقط می خواهند از STL استفاده کنند تأثیر نمی گذارد ، زیرا برای استفاده در Visual Studio IDE در دسترس است. با این حال ، توسعه دهندگانی که می خواهند در توسعه STL شرکت کنند می توانند با استفاده از مخزن GitHub این کار را انجام دهند.

انتقال به GitHub هنوز در جریان است ، اما اکنون می توان کد را شبیه سازی و ساخت.


محتوای مقاله به اصول ما پیوست اخلاق تحریریه. برای گزارش یک خطا کلیک کنید اینجا.

اولین کسی باشید که نظر

نظر خود را بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخشهای موردنیاز علامتگذاری شدهاند با *

*

*

  1. مسئول داده ها: میگل آنخل گاتون
  2. هدف از داده ها: کنترل هرزنامه ، مدیریت نظرات.
  3. مشروعیت: رضایت شما
  4. ارتباط داده ها: داده ها به اشخاص ثالث منتقل نمی شوند مگر با تعهد قانونی.
  5. ذخیره سازی داده ها: پایگاه داده به میزبانی شبکه های Occentus (EU)
  6. حقوق: در هر زمان می توانید اطلاعات خود را محدود ، بازیابی و حذف کنید.