8 ספריות נהדרות לתכנות C ++

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

החלקת הדרך לשימוש ב- C ++ היא תמיכה רחבה בשפה בקרב יצרני IDEs, עורכים, מהדרים, מסגרות בדיקה, איכות קוד וכלים אחרים. מפתחי תוכנה עומדים לרשותם גם ספריות מצוינות רבות שיסייעו בבניית יישומי C ++. להלן שמונה שמפתחי C ++ מסתמכים עליהם. 

ספריית תבניות פעילה

ממיקרוסופט, Active Template Library (ATL) היא קבוצה של מחלקות C ++ לבניית אובייקטים של COM (Common Object Model), עם תמיכה בתכונות COM כמו ממשקים כפולים, ממשקי COM רגילים, נקודות חיבור ובקרות ActiveX. זמין עם Visual Studio IDE, ניתן להשתמש ב- ATL לבניית אובייקטים עם הברגה יחידה, אובייקטים של מודל דירה, אובייקטים של מודלים עם הברגה חופשית, או גם אובייקטים עם הברגה חופשית וגם מודל דירה.

ספריית Asio C ++

ספריית Asio C ++ משמשת לתכנות קלט / פלט ברמה נמוכה ומציעה מודל אסינכרוני עקבי. Asio מספקת אבני בניין בסיסיות עבור מקביליות, רשת C ++ וסוגים אחרים של קלט / פלט. Asio שימש ביישומים החל מאפליקציות ומשחקים לסמארטפונים ועד לאתרים אינטראקטיביים במיוחד ומערכות עסקאות בזמן אמת. פרויקטים המשתמשים ב- Asio כוללים את ספריית WebSocketPP ואת הבאגים מרחוק DDT3 לשפת Lua. Asio זמינה כמקור פתוח בחינם תחת רישיון התוכנה Boost, ותומכת ב- Linux, Windows, MacOS ו- FreeBSD.

אייג'ן

Eigen היא ספריית תבניות C ++ לאלגברה לינארית, כולל מטריצות, וקטורים, פותרים מספריים ואלגוריתמים קשורים. כל גדלי המטריצה ​​נתמכים, ממטריצות קטנות וקבועות וכלה במטריצות גדולות וצפויות באופן שרירותי. אלגוריתמים נבחרים לאמינות. כל סוגי המספרים הסטנדרטיים נתמכים. לשם מהירות, Eigen מציג תבניות ביטוי כדי להסיר בצורה חכמה זמניים ולאפשר הערכה עצלה. זמין בחינם תחת רישיון ציבורי 2 של Mozilla והורד מעמוד פרויקט Eigen. Eigen הותקן בממשק API המתואר על ידי התומכים כבעלי הבעה ונקייה וטבעיות למתכנתים C ++. חבילת המבחנים עבור Eigen הונעה נגד מהדרים רבים כדי להבטיח אמינות.

FloatX

FloatX, או Float eXtended, היא ספרייה כותרת בלבד להדמיית סוג נקודה צפה ברמת דיוק נמוכה. בעוד שתואם מקורי למהדרי C ++, ניתן לקרוא ל- FloatX על ידי שפות אחרות כגון פייתון או פורטרן. סוגי נקודות צפה מורחבות מעבר לסוגי הדיוק היחיד והדיוק הכפול. ישנם סוגים של תבניות המאפשרים למשתמש לבחור את מספר הביטים המשמשים למעריך, כמו גם חלקים משמעותיים ממספר הנקודה הצפה. FloatX מבוסס על הרעיון של ספריית FlexFloat לחיקוי סוגים צפים בעלי דיוק מופחת, אך מיישם מערך על של פונקציונליות FlexFloat ב- C ומספק עטיפות C ++. FloatX הגיעה מיוזמת המחשוב Open Transprecision Computing. זה זמין בחינם תחת רישיון Apache 2.0. 

OpenCV

OpenCV, או Open Source Vision Library Library, היא ספריית ראיית מחשב ולמידת מכונה שנכתבה באופן מקורי ב- C ++ וזמינה ברישיון BSD. OpenCV נבנה כדי לספק תשתית משותפת ליישומי ראיית מחשב ולהאיץ את השימוש בתפיסת המכונה במוצרים מסחריים. למעלה מ -2,500 אלגוריתמים מותאמים לזיהוי פנים, זיהוי אובייקטים, סיווג אובייקטים, מיצוי מודלים תלת-ממדיים, חיפוש תמונות ועוד ועוד, OpenCV צברה קהילת משתמשים המונה יותר מ- 47,000 אנשים. הספרייה זמינה מאתר הפרויקט OpenCV, ומספקת ממשקי C ++, Java, Python ו- Matlab ותומכת ב- Windows, Linux, Android ו- MacOS. ממשקי CUDA ו- OpenCL נמצאים בפיתוח.

ספריות Poco C ++

מיועדות לפשט את פיתוח C ++, ספריות C ++ Poco (רכיבים ניידים) הן ספריות C ++ חוצות פלטפורמות לבניית יישומי אינטרנט ורשת להפעלה במערכות הנעות בין שולחנות עבודה ושרתים למכשירים ניידים ו- IoT. הספריות יכולות לשמש גם לבניית מיקרו-שירותים עם ממשקי API של REST לצורך למידת מכונה או ניתוח נתונים. ספריות ה- Poco דומות במושג לספריית Java Class, ל- .NET Framework של מיקרוסופט או ל- Apple Cocoa.

מפתחים יכולים להשתמש בספריות Poco לבניית שרתי יישומים ב- C ++ המדברים עם מסדי נתונים של SQL, Redis או MongoDB, או לבניית תוכנה למכשירי IoT המדברים עם קצות אחוריים בענן. בין המאפיינים של הספריות ניתן למצוא מסגרת מטמון, טיפול בטופס HTML, לקוח FTP להעברת קבצים ושרת HTTP ולקוח. ספריות ה- Poco זמינות בחינם ברישיון תוכנת Boost וניתנות להורדה מ- GitHub. 

ספריית התבניות של Windows

במקור ממיקרוסופט, ספריית התבניות של Windows (WTL) היא (מאז 2004) ספריית קוד פתוח לבניית יישומי Windows קלים ורכיבי ממשק משתמש. ממוקמת כחלופה לערכת הכלים של Microsoft Foundation Classes, WTL מרחיבה את ATL ומספקת קבוצה של שיעורים לבקרות, דיאלוגים, חלונות מסגרת ואובייקטים של GDI.

Wt

Wt היא ספריית GUI אינטרנטית ב- C ++ מודרנית המאפשרת למפתחים לבנות ממשקי משתמש אינטראקטיביים עם יישומונים, ללא צורך לכתוב JavaScript. פיתרון בצד השרת, Wt מבקש טיפול ועיבוד עמודים, ומספק אבטחה מובנית, עיבוד PDF, מערכת ציור דו-ממדית ותלת-ממדית, ספריית מיפוי התייחסות-עצמים, ספריית תרשימים ומסגרת אימות. ספריית הליבה הינה קוד פתוח ומספקת מסגרת היברידית של עמודים בודדים שניתן לפרוס ב- Linux, Unix או Windows.

פותח על ידי חברת הנדסת התוכנה Emweb, Wt תואם לדפדפני HTML5 ו- HTML4 וכן לסוכני משתמש רגילים ב- HTML. ו- Wt יכול להשתלב בספריות JavaScript של צד שלישי. עם Wt, יישום מוגדר כהיררכיה של יישומונים - החל מווידג'טים גנריים כגון לחצני כפתור וכלה ביישומונים מיוחדים כגון ווידג'ט שלם בבלוג. עץ היישומון מוצג בדפדפן כ- HTML / JavaScript. ניתן להוריד את Wt מדף האינטרנט של הפרויקט. תנאי שימוש קוד פתוח ותנאי שימוש מסחריים זמינים.