8 کتابخانه پرکاربرد زبان سی پلاس پلاس

++C یک زبان برنامه نویسی همه منظوره است که بیش از 40 سال است که مورد استفاده قرار می گیرد. با این حال سی پلاس پلاس هنوز هم در صدر جداول رتبه بندی زبان های برنامه نویسی است و جزء محبوب ترین زبان های برنامه نویسی حال حاضر می باشد. در ادامه 8 کتابخانه پرکاربرد زبان سی پلاس پلاس را معرفی خواهیم کرد.

پشتیبانی گسترده این زبان توسط بسیاری از نهاد ها و شرکت ها از جمله سازندگان IDE، کامپایلر ها، فریم ورک ها و کتابخانه ها، ابزار تست و … کار با این زبان را جذاب تر و راحت تر کرده است.

1 – Active Template Library

کتابخانه پرکاربرد زبان سی پلاس پلاس - ATL

کتابخانه پرکاربرد زبان سی پلاس پلاس – ATL

ATL مجموعه ای از کلاس های ++C است که برای ساخت اشیاء COM (Common Object Model) با پشتیبانی از ویژگی های آن مانند رابط های دودویی، رابط های شمارنده COM، نقاط اتصال و کنترل ActiveX استفاده می شود. با استفاده از IDE ویژوال استودیو، ATL  می تواند در ساخت اشیاء تک نخی، اشیاء مدل آپارتمانی، اشیاء چند نخی یا ترکیبی از آن ها، استفاده شود.

2 – Asio ++C

کتابخانه پرکاربرد زبان سی پلاس پلاس - Asio

کتابخانه پرکاربرد زبان سی پلاس پلاس – Asio

این کتابخانه برای برنامه نویسی I/O (ورودی/خروجی) شبکه و سطح پایین مورد استفاده قرار می گیرد و یک مدل غیر همزمان (asynchronous) سازگار ارائه می دهد. از Asio در اپلیکیشن های مختلفی بر روی گوشی های هوشمند، بازی ها تا وب سایت ها و سیستم های بسیار تعاملی بلادرنگ (real-time) استفاده شده است. برخی از پروژه هایی که از این کتابخانه استفاده می کنند، شامل کتابخانه WebSocketPP و دیباگر از راه دور DDT3 برای زبان Lua می باشند. Asio به صورت رایگان و متن باز تحت مجوز Boost Software در دسترس بوده و از لینوکس، ویندوز، MacOS و FreeBSD پشتیبانی می کند.

3 – Eigen

Eigen یک کتابخانه قالب C++ برای جبر خطی است. از جمله ماتریس، بردار، حل کننده های عددی و الگوریتم های مرتبط. تمام اندازه های ماتریس نیز پشتیبانی می شوند. از ماتریس های کوچک و ثابت گرفته تا ماتریس های متراکم دلخواه. الگوریتم ها برای قابیت اطمینان انتخاب شده اند و هم انواع عددی پشتیبانی می شوند. برای سرعت بیشتر، این کتابخانه از از قالب های با قاعده برای حذف هوشمند داده های موقت استفاده می کند. این کتابخانه به صورت رایگات و تحت مجوز عمومی موزیلا 2 در دسترس است.

4 – FloatX

کتابخانه FlotX یا Float eXtended، یک کتابخانه only-header برای نوع شمارشی شناور با دقت کم است. در حالیکه با کامپایلر های native سی پلاس پلاس سازگار است، می توان آن را در زبان های دیگر مانند Python یا Fortran فراخوانی کرد. انواع نقاط شناور فراتر از انواع تکی و دقت دوگانه هستند. انواع قالب ارائه شده است که به کاربر اجازه می دهد تعدادی بیت علامت و توان اعداد ممیز شناور استفاده کند.  این کتابخانه تحت مجوز آپاچی 2.0 و به صورت رایگان در دسترس است.

5 – OpenCV

کتابخانه پرکاربرد زبان سی پلاس پلاس - OpenCV

کتابخانه پرکاربرد زبان سی پلاس پلاس – OpenCV

OpenCV یا Open Source Computer Vision Library ، یک کتابخانه بینایی ماشین یا کامپیوتر و یادگیری ماشینی است که به زبان C++ نوشته شده و تحت مجوز BSD در دسترس است. این کتابخانه برای تأمین یر ساخت های مشترک برای برنامه های بینایی کامپیوتر و تسریع در استفاده از ادراک دستگاه در محصولات تجاری ساخته شده است. بیش از 2500 الگوریتم بهینه سازی شده برای تشخیص چهره، تشخیص اشیاء ، طبقه بندی اشیاء ، استخراج مدل 3 بعدی، جستجوی تصاویر و بسیاری موارد دیگر در آن وجود دارد. OpenCV انجمن کاربری با بیش از 47000 عضو دارد. همچنین این کتابخانه در زبان های دیگر مانند Pyhton، Java و MATLAB قابل استفاده است و توسط سیستم عامل های ویندوز، لینوکس و مک پشتیبانی می شود.

6 – کتابخانه های Poco

کتابخانه پرکاربرد زبان سی پلاس پلاس - Poco

کتابخانه پرکاربرد زبان سی پلاس پلاس – Poco

برای ساده سازی توسعه C++ ، کتابخانه Poco یا Portable Components، کتابخانه های چند سکویی هستند که برای ساخت اپلیکیشن های اینترنتی و شبکه در دستگاه های مختلف از جمله گوشی های هوشمند و سرور، استفاده می شوند. همچنین با استفاده از این کتابخانه ها می توان میکروسرویس هایی با REST APIs برای یادگیری ماشین و یا تحلیل داده ها استفاده کرد. کتابخانه های Poco از لحاظ مفهومی مشابه کتابخانه کلاس جاوا، چارچوب دات نت مایکروسافت یا Apple Cocoa هستند.

توسعه دهندگان می توانند از این کتابخانه برای ساخت اپلیکیشن سرور در C++ که با پایگاه های داده از نوع SQL، Redis و یا MongoDB در ارتباط هستند، استفاده کنند و یا برای دستگاه های اینترنت اشیاء (IoT) که با بخش back-end فضای ابری در ارتباط هستند، نرم افزار بسازند. از جمله ویژگی های این کتابخانه ها می توان به فریم ورک کش (cache)، مدیریت فرم HTML، یک کلاینت FTP برای انتقال فایل ها و یک سرور و کلاینت HTTP اشاره کرد. کتابخانه های Poco تحت مجوز Boost Software به صورت رایگان و متن باز در دسترس هستند.

7 – Windows Template Library

WTL که توسط مایکروسافت توسعه داده شده، یک کتابخانه متن باز برای ساخت برنامه های سبک ویندوز و UI (رابط کاربری) برای آن است. WTL معمولا به عنوان جایگزینی برای MFC استفاده می شود. این کتابخانه در اصل ATL (کتابخانه معرفی شده در ابتدای مطلب) را گسترش می دهد و مجموعه ای از کلاس ها برای کنترل ها، دیالوگ ها، پنجره ها و اشیاء GDI را فراهم می کند.

8 – Wt

Wt یک کتابخانه GUI وب در ++C مدرن است که به توسعه دهندگان این امکان را می دهد تا رابط های کاربری تعاملی وب خود را بدون اینکه نیازی به جاوا اسکریپت داشته باشند، با ویجت ها ایجاد کنند. در سمت سرور، Wt کار هایی از جمله رسیدگی به درخواست ها، رندر صفحه، ارائه امنیت داخلی، رندر PDF، سیستم painting 2D و 3D ، چارچوب تأیید هویت و اعتبار و … را به عهده دارد.
کتابخانه اصلی متن باز بوده و یک چارچوب تک صفحه ای ترکیبی را ارائه می دهد که می تواند در لینوکس، یونیکس یا ویندوز مستقر شود.

 

کتابخانه های نامبرده شده، تنها بخش کوچکی از مجموعه فریم ورک ها و کتابخانه های زبان سی پلاس پلاس هستند که معرفی تمام آن ها در این مقاله نمی گنجد.

QR:  8 کتابخانه پرکاربرد زبان سی پلاس پلاس
به اشتراک بگذارید