مائیکروسافٹ نے ویژول اسٹوڈیو کے ساتھ شامل C++ معیاری لائبریری کو اوپن سورس کیا۔

ان دنوں CppCon 2019 کانفرنس میں Microsoft اعلان کیا C++ سٹینڈرڈ لائبریری (STL, C++ سٹینڈرڈ لائبریری) کے اس کے نفاذ کے کوڈ کو کھولنے کے بارے میں، جو MSVC ٹول کٹ اور بصری اسٹوڈیو کی ترقی کے ماحول کا حصہ ہے۔ لائبریری موجودہ C++ 14 اور C++ 17 معیارات میں بیان کردہ صلاحیتوں کو لاگو کرتی ہے، اور موجودہ ورکنگ ڈرافٹ میں تبدیلیوں کے بعد مستقبل کے C++20 معیار کی حمایت کی طرف بھی تیار ہو رہی ہے۔ کوڈ کھلا ہوا ہے اپاچی 2.0 لائسنس کے تحت بائنری فائلوں کے استثناء کے ساتھ جو تیار کردہ قابل عمل فائلوں میں رن ٹائم لائبریریوں کو شامل کرنے کے مسئلے کو حل کرتی ہے۔

مستقبل میں اس لائبریری کی ترقی کو گٹ ہب پر تیار کردہ ایک کھلے منصوبے کے طور پر انجام دینے کا منصوبہ ہے، تیسری پارٹی کے ڈویلپرز کی طرف سے اصلاح اور نئی خصوصیات کے نفاذ کے ساتھ پل کی درخواستوں کو قبول کرتے ہوئے (ترقی میں شرکت کے لیے منتقلی پر CLA معاہدے پر دستخط کرنے کی ضرورت ہوتی ہے۔ منتقل شدہ کوڈ پر جائیداد کے حقوق)۔ واضح رہے کہ STL ڈویلپمنٹ کی GitHub میں منتقلی سے مائیکروسافٹ کے صارفین کو ترقی کی پیشرفت کو ٹریک کرنے، تازہ ترین تبدیلیوں کے ساتھ تجربہ کرنے اور اختراعات شامل کرنے کے لیے آنے والی درخواستوں کا جائزہ لینے میں مدد ملے گی۔

اوپن سورس کمیونٹی کو دوسرے پروجیکٹس میں نئے معیارات سے فیچرز کے ریڈی میڈ نفاذ کو استعمال کرنے کی بھی اجازت دے گا۔ مثال کے طور پر، کوڈ لائسنس کا انتخاب لائبریری کے ساتھ کوڈ کا اشتراک کرنے کی اہلیت فراہم کرنے کے لیے کیا جاتا ہے۔ libc++ LLVM پروجیکٹ سے۔ STL اور libc++ ڈیٹا ڈھانچے کی اندرونی نمائندگی میں مختلف ہیں، لیکن اگر چاہیں تو، libc++ ڈویلپرز STL (مثال کے طور پر، charconv) سے دلچسپی کی فعالیت کو پورٹ کر سکتے ہیں یا دونوں منصوبے مشترکہ طور پر کچھ اختراعات تیار کر سکتے ہیں۔ اپاچی لائسنس میں شامل مستثنیات اختتامی صارفین کو STL کے ساتھ مرتب کردہ بائنریز فراہم کرتے وقت اصل پروڈکٹ کے استعمال کا حوالہ دینے کی ضرورت کو ختم کر دیتی ہیں۔

پروجیکٹ کے کلیدی اہداف میں تصریح کے تقاضوں کی مکمل تعمیل، اعلیٰ کارکردگی کو یقینی بنانا، استعمال میں آسانی (ڈیبگنگ ٹولز، تشخیص، غلطی کا پتہ لگانا) اور سورس کوڈ کی سطح پر مطابقت اور ویژول اسٹوڈیو 2015/2017 کی پچھلی ریلیز کے ساتھ ABI شامل ہیں۔ مائیکروسافٹ جن شعبوں کو ترقی دینے میں دلچسپی نہیں رکھتا ان میں دوسرے پلیٹ فارمز پر پورٹ کرنا اور غیر معیاری ایکسٹینشنز شامل کرنا شامل ہیں۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں