Προγραμματισμός

8 υπέροχες βιβλιοθήκες για προγραμματισμό C ++

Το C ++ είναι μια γλώσσα προγραμματισμού συστημάτων γενικής χρήσης που είναι πλέον άνω των 40 ετών και έχει σχεδιαστεί το 1979. Αντί να χάσει τον ατμό, το C ++ εξακολουθεί να βρίσκεται στην κορυφή πολλών δεικτών δημοτικότητας γλωσσών προγραμματισμού.

Η εξομάλυνση της διαδρομής προς τη χρήση C ++ είναι η ευρεία υποστήριξη για τη γλώσσα μεταξύ των κατασκευαστών IDE, συντάκτες, μεταγλωττιστές, δοκιμαστικά πλαίσια, ποιότητα κώδικα και άλλα εργαλεία. Οι προγραμματιστές λογισμικού έχουν επίσης στη διάθεσή τους πολλές εξαιρετικές βιβλιοθήκες για να βοηθήσουν στην κατασκευή εφαρμογών C ++. Εδώ είναι οκτώ στα οποία βασίζονται οι προγραμματιστές C ++.

Ενεργή βιβλιοθήκη προτύπων

Από τη Microsoft, το Active Template Library (ATL) είναι ένα σύνολο κατηγοριών C ++ για την κατασκευή αντικειμένων COM (Common Object Model), με υποστήριξη για λειτουργίες COM όπως διπλές διεπαφές, τυπικές διεπαφές απαριθμητών COM, σημεία σύνδεσης και στοιχεία ελέγχου ActiveX. Διαθέσιμο με το Visual Studio IDE, το ATL μπορεί να χρησιμοποιηθεί για την κατασκευή αντικειμένων με μονό σπείρωμα, αντικειμένων μοντέλου διαμερίσματος, αντικειμένων μοντέλου ελεύθερου σπειρώματος ή αντικειμένων μοντέλου ελεύθερου σπειρώματος και μοντέλου διαμερίσματος.

Βιβλιοθήκη Asio C ++

Η βιβλιοθήκη Asio C ++ χρησιμοποιείται για προγραμματισμό δικτύου και χαμηλού επιπέδου I / O, προσφέροντας ένα συνεπές ασύγχρονο μοντέλο. Παρέχοντας βασικά δομικά στοιχεία για ταυτόχρονη σύνδεση, δικτύωση C ++ και άλλους τύπους εισόδου / εξόδου, το Asio έχει χρησιμοποιηθεί σε εφαρμογές που κυμαίνονται από εφαρμογές smartphone και παιχνίδια έως ιστότοπους υψηλής διαδραστικότητας και συστήματα συναλλαγών σε πραγματικό χρόνο. Τα έργα που χρησιμοποιούν το Asio περιλαμβάνουν τη βιβλιοθήκη WebSocketPP και το απομακρυσμένο πρόγραμμα εντοπισμού σφαλμάτων DDT3 για τη γλώσσα Lua. Το Asio διατίθεται ως δωρεάν ανοιχτού κώδικα υπό την Άδεια Boost Software και υποστηρίζεται σε Linux, Windows, MacOS και FreeBSD.

Eigen

Το Eigen είναι μια βιβλιοθήκη προτύπων C ++ για γραμμική άλγεβρα, συμπεριλαμβανομένων πινάκων, διανυσμάτων, αριθμητικών λύσεων και συναφών αλγορίθμων. Υποστηρίζονται όλα τα μεγέθη μήτρας, από μικρούς, σταθερούς πίνακες έως αυθαίρετα μεγάλους, πυκνούς πίνακες. Οι αλγόριθμοι επιλέγονται για αξιοπιστία. Υποστηρίζονται όλοι οι τυπικοί αριθμητικοί τύποι. Για ταχύτητα, το Eigen διαθέτει πρότυπα έκφρασης για την έξυπνη αφαίρεση των προσωρινών και τη δυνατότητα τεμπέλης αξιολόγησης. Διατίθεται δωρεάν υπό την άδεια Mozilla Public License 2 και με δυνατότητα λήψης από τη σελίδα του έργου Eigen, το Eigen διαθέτει ένα API που περιγράφεται από τους υποστηρικτές ως εκφραστικό και καθαρό και φυσικό στους προγραμματιστές C ++. Η δοκιμαστική σουίτα για Eigen έχει εκτελεστεί σε πολλούς μεταγλωττιστές για να διασφαλιστεί η αξιοπιστία.

FloatX

Το FloatX, ή το Float eXtended, είναι μια βιβλιοθήκη μόνο για κεφαλίδες για προσομοίωση τύπου κυμαινόμενου σημείου χαμηλής ακρίβειας. Ενώ είναι εγγενώς συμβατό με μεταγλωττιστές C ++, το FloatX μπορεί να κληθεί από άλλες γλώσσες όπως Python ή Fortran. Οι τύποι κυμαινόμενου σημείου επεκτείνονται πέρα ​​από τους εγγενείς τύπους μονής και διπλής ακρίβειας. Παρέχονται τύποι προτύπων που επιτρέπουν στον χρήστη να επιλέξει τον αριθμό των bit που χρησιμοποιούνται για τον εκθέτη, καθώς και σημαντικά μέρη του αριθμού κινητής υποδιαστολής. Το FloatX βασίζεται στην ιδέα της βιβλιοθήκης FlexFloat για προσομοίωση πλωτών τύπων μειωμένης ακρίβειας, αλλά εφαρμόζει ένα υπερσύνολο λειτουργικότητας FlexFloat στο C και παρέχει περιτυλίγματα C ++. Το FloatX προέκυψε από την πρωτοβουλία Open Transprecision Computing. Διατίθεται δωρεάν σύμφωνα με το Apache License 2.0.

OpenCV

Το OpenCV, ή το Open Source Computer Vision Library, είναι μια βιβλιοθήκη όρασης υπολογιστή και μηχανικής μάθησης γραμμένη εγγενώς στο C ++ και διατίθεται με άδεια BSD. Το OpenCV δημιουργήθηκε για να παρέχει κοινή υποδομή για εφαρμογές όρασης υπολογιστή και να επιταχύνει τη χρήση της αντίληψης του μηχανήματος σε εμπορικά προϊόντα. Περισσότεροι από 2.500 βελτιστοποιημένοι αλγόριθμοι για αναγνώριση προσώπου, ανίχνευση αντικειμένων, ταξινόμηση αντικειμένων, εξαγωγή μοντέλου 3D, αναζήτηση εικόνων και πολλά άλλα, το OpenCV έχει συγκεντρώσει μια κοινότητα χρηστών με περισσότερα από 47.000 άτομα. Διαθέσιμο από τον ιστότοπο του έργου OpenCV, η βιβλιοθήκη παρέχει διεπαφές C ++, Java, Python και Matlab και υποστηρίζει Windows, Linux, Android και MacOS. Οι διεπαφές CUDA και OpenCL βρίσκονται σε εξέλιξη.

Βιβλιοθήκες Poco C ++

Προκειμένου να απλοποιήσει την ανάπτυξη C ++, οι βιβλιοθήκες Poco (Portable Components) C ++ είναι βιβλιοθήκες C ++ πολλαπλών πλατφορμών για την κατασκευή εφαρμογών Διαδικτύου και δικτύων για εκτέλεση σε συστήματα που κυμαίνονται από επιτραπέζιους υπολογιστές και διακομιστές έως κινητές συσκευές και συσκευές IoT. Οι βιβλιοθήκες μπορούν επίσης να χρησιμοποιηθούν για τη δημιουργία μικροσυσκευών με REST APIs για μηχανική εκμάθηση ή ανάλυση δεδομένων. Οι βιβλιοθήκες Poco έχουν παρόμοια ιδέα με τη βιβλιοθήκη τάξεων Java, το Microsoft .NET Framework ή το Apple Cocoa.

Οι προγραμματιστές μπορούν να χρησιμοποιήσουν βιβλιοθήκες Poco για να δημιουργήσουν διακομιστές εφαρμογών σε C ++ που μιλούν σε βάσεις δεδομένων SQL, Redis ή MongoDB, ή για να δημιουργήσουν λογισμικό για συσκευές IoT που μιλούν σε υπολογιστές νέφους. Μεταξύ των χαρακτηριστικών των βιβλιοθηκών είναι ένα πλαίσιο προσωρινής μνήμης, ο χειρισμός φόρμας HTML, ένας πελάτης FTP για τη μεταφορά αρχείων και ένας διακομιστής HTTP και πελάτης. Οι βιβλιοθήκες Poco διατίθενται δωρεάν βάσει της άδειας Boost Software και είναι δυνατή η λήψη τους από το GitHub.

Βιβλιοθήκη προτύπων των Windows

Αρχικά από τη Microsoft, η Βιβλιοθήκη προτύπων των Windows (WTL) είναι (από το 2004) μια βιβλιοθήκη ανοιχτού κώδικα για την κατασκευή ελαφρών εφαρμογών Windows και στοιχείων UI. Τοποθετημένο ως εναλλακτική λύση για το κιτ εργαλείων Microsoft Foundation Classes, το WTL επεκτείνει το ATL και παρέχει ένα σύνολο κλάσεων για στοιχεία ελέγχου, διαλόγους, παράθυρα πλαισίων και αντικείμενα GDI.

Β

Το Wt είναι μια βιβλιοθήκη GUI ιστού στο σύγχρονο C ++ που επιτρέπει στους προγραμματιστές να δημιουργούν διαδραστικά UI Ιστού με widget, χωρίς να χρειάζεται να γράψουν JavaScript. Μια λύση από την πλευρά του διακομιστή, η Wt ζητά χειρισμό και απόδοση σελίδας, παρέχοντας ενσωματωμένη ασφάλεια, απόδοση PDF, σύστημα ζωγραφικής 2D και 3D, βιβλιοθήκη χαρτογράφησης αντικειμένων, βιβλιοθήκη χαρτογράφησης και πλαίσιο ελέγχου ταυτότητας. Η βασική βιβλιοθήκη είναι ανοιχτού κώδικα, παρέχοντας ένα υβριδικό πλαίσιο μίας σελίδας που μπορεί να αναπτυχθεί σε Linux, Unix ή Windows.

Αναπτύχθηκε από την εταιρεία λογισμικού Emweb, το Wt είναι συμβατό με προγράμματα περιήγησης HTML5 και HTML4, καθώς και με απλούς πράκτορες χρηστών HTML. Και το Wt μπορεί να ενσωματωθεί σε βιβλιοθήκες JavaScript τρίτων. Με το Wt, μια εφαρμογή ορίζεται ως μια ιεραρχία widget - που κυμαίνεται από γενικά widget όπως κουμπιά έως εξειδικευμένα widget όπως ένα ολόκληρο widget blog. Το δέντρο widget αποδίδεται ως HTML / JavaScript στο πρόγραμμα περιήγησης. Μπορείτε να το κατεβάσετε από την ιστοσελίδα του έργου. Διατίθενται όροι ανοιχτού κώδικα και εμπορικής χρήσης.