Ce qui est intéressant bibliothèques C/C++ pour jouer avec?
Je suis à la recherche de quelques nouvelles bibliothèques et pour le C et le C++. Dans le passé, la plupart du temps j'ai "accidentellement" trébuché à travers quelques - uns- et la plupart d'entre eux ont trouvé un bon usage dans les projets, j'ai travaillé sur.
Les bibliothèques devraient fonctionner sur Mac OS X et Linux/POSIX et éventuellement sur Windows.
- Lua - Un minimum et rapide moteur de scripts pour les fichiers de configuration et l'application de base de script.
- V8 - Rapide de JavaScript par Google moteur similaire à WebKit est JavaScriptCore.
- le Caire - Une bonne graphcis bibliothèque similaire à QuickDraw/Quartz sur Mac OS X.
- ZBar - Scanner de code-barres de la bibliothèque, qui permet de numériser des photos/images/flux vidéo pour les codes à barres et le retour de leur valeur.
- ZLib - Très compacte de la bibliothèque de compression de flux de données. Utilisé zziblib et minizip, trop.
- DynaPDF - Un facile à utiliser la génération de PDF à la bibliothèque.
- libusb - Universel USB bibliothèque qui permet un accès mobile à des périphériques USB (j'ai utilisé cette fonction pour écrire un pilote de base pour un custom imprimante POS).
- WebKit - C'est un très joli si vous voulez vous rendre le code HTML/contenus Web et de l'utiliser dans des applications de donner aux utilisateurs un plus "riche" de l'expérience utilisateur.
- Qt4 - L'objectif général du cadre pour tous les types de bureau (et éventuellement mobile) de développement. Passer beaucoup de mon temps avec celui - aucune idée de comment je pourrais l'oublier. 😉
Cela devrait être marqué wiki de la communauté. Veuillez mettre à jour si vous avez quelque chose d'intéressant à ajouter!
Merci!
Mise à jour de 1
Je ne suis pas à la recherche de "productivité" des bibliothèques comme Boost ou STL. Au lieu de cela je suis à la recherche de "nouvelles choses" de l'aléatoire des genres - être il graphiques les bibliothèques, les bibliothèques de scripts, d'un réseau ou même MOD/MIDI à jouer les bibliothèques. Désolé je n'ai pas été bien clair avant.
- CW a été dead pour un long moment maintenant.
- Essayer d'obtenir un modèle de méta-programmation. Il va considérablement élargir votre point de vue sur ce qui est possible en C++.
- Je comptais les gens à templog.org quand ils ont demandé à propos de la journalisation des bibliothèques, mais il semble que le tronc n'est pas actuellement en train de travailler très bien et le gars qui l'a fait il n'a évidemment pas avoir le temps/l'énergie/que ce soit pour travailler sur la plus. IMO c'est un excellent application pratique de la TMP (principalement l'expression des modèles) dans un petit, facile à digérer bibliothèque (principalement une demi-douzaine de têtes). OIE, c'est un terrain de jeu idéal pour bricoler avec. (Un ancien co-travailleur de la mine demandé SVN accès en écriture pour ajouter ses propres trucs et il a obtenu en quelques heures.)
Vous devez vous connecter pour publier un commentaire.
STL et Boost sont des moûts.
SQLite fournit un complètement intégré, complet de base de données relationnelle dans quelques 100k que vous pouvez inclure dans votre projet. Il est également très en demande de compétences en raison de sa forte présence (il est inclus dans Mozilla Firefox ainsi que sur Android et iOS).
Si vous êtes intéressé par la création d'interfaces utilisateurs, regardez dans ncurses -- c'est la bibliothèque qui a été utilisé pour créer de nombreux terminaux et des interfaces utilisateur peuvent être très utiles pour créer des jeux et des utilitaires d'environnement. Qt est un bon GUI cadre pour le C++.
Si vous êtes intéressé dans les graphiques ou la création de jeux, d'envisager la SDL ou OpenGL (ou DirectX si vous ne me dérange pas de travailler seulement sur Windows).
Bien sûr, il y a des milliers d'intéressant bibliothèques. Cela dépend vraiment de ce que vous êtes intéressé dans.
Si vous êtes dans le traitement de l'Image, etc, alors OpenCV peut être intéressant de jouer avec.
Chaque programmeur C++ doit d'abord jouer avec ces deux bibliothèques:
Pour l'interface graphique
Pourquoi ne pas essayer OGRE et coup d'oeil dans les graphiques 3D?
Bibliothèque de Visualisation pourrait être d'intérêt. découvrez cette Galerie
Physique Bullet Bibliothèque est un open source du moteur physique 3D mettant en vedette la détection de collision, souple dynamique des corps, et de la dynamique des corps rigides. Il est utilisé dans les jeux, et dans les effets spéciaux dans les films.
Boost semble un choix évident.
Mais si vous cherchez quelque chose d'un peu plus spécifique puis la OpenCV bibliothèque semble être de générer beaucoup d'intérêt à l'heure actuelle - c'est un open source computer vision library.
Si vous voulez jouer avec l'apprentissage de la machine (classificateurs et ce genre de chose), Les réseaux bayésiens, ou essayer votre main à la création de vos propres algorithmes, mais souhaitez utiliser certains outils utiles pour le faire (par exemple, prêt à l'optimisation d'algèbre linéaire et d'outils), puis vérifier dlib. Je pense que son grand, mais je travaille donc je suis partial 🙂
J'aime jouer avec cimg, son très bon, facile à utiliser, image de la bibliothèque, de la bonne, pour déconner avec :p
http://cimg.sourceforge.net/
Boost mais pas la partie "productive":)
Coup de pouce.Xpressive ou comment coder des expressions régulières dans les modèles de!
Coup de pouce.MPL apportera un éclairage nouveau sur l'utilisation de modèle, vous recevrez une fine grok de modèle de métaprogrammation et creusé plus profondément dans les subtilités de SFINAE et le modèle de déduction.
Coup de pouce.Préprocesseur va éclairer d'une lumière nouvelle sur l'utilisation et l'abus du préprocesseur. Il vient très pratique lors de l'utilisation de modèles pour générer plusieurs surcharges de modèle de fonctions et de classes (et en effet, le MPL est basée sur elle). L'intérêt un peu diminuer mais avec l'avènement de...
C++0x!
Le nouveau Standard de la Bibliothèque avec son fils!
Apprendre à utiliser
std::future
etstd::function
, la joie de découvrir des lambdas, la gamme à base defor
de la syntaxe, de laauto
mot-clé!C++0x a tellement de nouveaux jouets que cela ressemble presque à une nouvelle langue... et c'est aussi une bonne brosse de votre savoir-faire et une bonne façon de rester dans.
Hiberlite:
hibernate-comme l'interface de SQLite, quelqu'un devrait écrire un pilote pour mysql à l'aide de OTL!
VERSION:
JIT dynamiquement nouveau code en c++
moteur 3D Irrlicht
Je sais que vous êtes proably à la recherche pour la bibliothèque que vous pouvez intégrer dans votre journée de travail de jour, mais pour un projet de maison de la C++ Wiimote bibliothèque peut amener à des projets intéressants:
http://pawst.com/post/471040-c-wiimote-library
Pour le développement de jeux - OGRE
L'interface de développement - wxWidgets - Compatible Bibliothèque d'interface graphique
Et à la fois les bibliothèques de l'OpenSource.
Cinder et openFrameworks sont superbes boîtes à outils pour les créatifs de codage", comme ils disent. Ces bibliothèques, ou plutôt de la collection de bibliothèques, couvrir le tout à partir de mathématiques et de mise en réseau pour la 2d, la 3d, les graphismes, l'interface de divers périphériques d'entrée et plus.
La dernière fois que j'ai eu du plaisir à fouiller dans quelque chose lié à c++ a été avec SWIG.
C'est un wrapper/interface Générateur de vous laisser le lien de votre code c++ Python.
De réaliser à quel point il est simple à utiliser SWIG est instructif et très amusant, par lui-même.
Ensuite, vous pouvez jouer autour de mélange Python et C++ bibliothèques.
Amusez-vous!
Ogre a déjà été mentionné. Si vous voulez aller en 3D, puis Panda3D je l'ai trouvé facile à apprendre.
La Joueur/Étape Du Projet est un robot interface de contrôle et de simulation de la bibliothèque. Vous pourrait simuler de robots ou de l'exécuter sur de véritables robots.