מיקרוסופט פרסמה את קוד הספריה הסטנדרטי C ++ שנמצא ב- Visual Studio

לוגו של מיקרוסופט

לוגו של מיקרוסופט

בכנס CppCon 2019 שנחגג בימים אלה, מעריצי מיקרוסופט ניצלו את ההזדמנות להודיע ​​על פתיחת הקוד ליישומה מהספרייה הסטנדרטית C ++ (המכונה גם STL), המהווה חלק מערכת הכלים MSVC וסביבת הפיתוח של Visual Studio.

הספרייה מיישמת את היכולות המתוארות בתקנים C ++ 14 ו- C ++ 17 הנוכחיים, והוא פותח גם בכיוון של תמיכה בתקן C ++ 20 העתידי, בעקבות השינויים בטיוטת העבודה הנוכחית.

על ידי הסיבות לכך שהאנשים במיקרוסופט החליטו לעשות את הצעד הזהבהצהרה הם מסבירים:

ישנן מספר סיבות מדוע אנו עושים זאת, אחת מהן היא לעבוד על ה- STL ב- GitHub, הדבר יאפשר ללקוחותינו לעקוב אחר ההתפתחות שלנו תוך כדי התרחשותה, לבדוק את השינויים האחרונים שלנו ולעזור לנו לשפר את בקשות המשיכה שלנו על ידי בחינתם.

מאחר שתקנון C ++ מואץ, ומצביעים על תכונות גדולות יותר מדי שנה, אנו חושבים שיהיה חשוב לקבל את תכונות הליבה כתרומות קוד פתוח. (לדוגמה, פורמט C ++ 20 וספריות כרונולוגיות הם מועמדים פוטנציאליים). אנו רוצים לתרום בחזרה לקהילת C ++ על ידי הפעלת יישום פונקציות הליבה שלנו. (לדוגמה, charconv מ- C ++ 17)

עם זה אנשי מיקרוסופט הודיעו שהם מתכננים להמשיך ולפתח את הספרייה הזו כפרויקט פתוח אשר מפותח ב- GitHub שיקבל בקשות משיכה ממפתחים חיצוניים עם תיקונים ויישום תכונות חדשות (כדי להשתתף בפיתוח, נדרש הסכם CLA להעברת זכויות בעלות לקוד המועבר).

נצפה כי העברת פיתוח מ- STL ל- GitHub תעזור ללקוחות מיקרוסופט עקוב אחר התקדמות הפיתוח, התנסה בשינויים האחרונים ועזור לבחון בקשות נכנסות לחידושים.

פתח גם את הקוד לאפשר לקהילה להשתמש ביישומים מוכנים הזדמנויות לתקנים חדשים בפרויקטים אחרים.

אודות רישיון הקוד של ספרייה זו, הוא מוצג כפתוח תחת רישיון Apache 2.0, למעט קבצים בינאריים הפותרים את הבעיה של הכללת ספריות זמן ריצה בהרכב קבצי ההפעלה שנוצרו.

שיהיה ברור, MSVC STL אינו מתמזג עם libc ++ מכיוון שהם עדיין ספריות נפרדות.

מיקרוסופט מסבירה מדוע רישיון הקוד נבחר באופן שיאפשר החלפת קוד עם ספריית libc ++ של פרויקט LLVM. STL ו- libc ++ נבדלים בייצוג הפנימי של מבני נתונים, אך אם הם רוצים, מפתחי libc ++ יכולים לשאת פונקציות STL מעניינות (למשל charconv) או ששני הפרויקטים יכולים לפתח יחד כמה חידושים.

MSVC STL מופץ תחת רישיון Apache v2.0 למעט LLVM, שנוצר לאחרונה על ידי פרויקט Clang / LLVM / libc ++.

החריגים שנוספו לרישיון אפאצ'י מבטלים את הדרישה להזכיר את השימוש במוצר המקור בעת אספקת קבצים בינאריים מקובצים של STL למשתמשי הקצה.

רישיון קוד פתוח מותר זה נבחר מכיוון שיש לו רישיון זהה ל- libc ++ אשר יקל על שיתוף הקוד בין ספריות. כדי להיות ברור, ה- MSVC STL אינו מוזג עם libc ++; הם עדיין ספריות נפרדות התומכות בפלטפורמות שונות עם ייצוגי מבנה נתונים שונים.

מצד שני, אחת ממטרות המפתח של הפרויקט נקראת עמידה מלאה בדרישות מפרטים, שמבטיחים ביצועים גבוהים, קלות שימוש (ניפוי באגים, אבחון, כלי זיהוי שגיאות) ותאימות ברמת המקור וה- ABI עם גרסאות קודמות של Visual Studio 2015/2017.

בין האזורים ש מיקרוסופט לא מעוניינת לפתח ניידות לפלטפורמות אחרות ולהוסיף סיומות מותאמות אישית.

אם אתה רוצה לדעת יותר על ההצהרה של מיקרוסופט, אתה יכול להתייעץ איתה בקישור הבא.


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי על הנתונים: AB Internet Networks 2008 SL
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.