2010-03-30 11 views
6

Connaissez-vous des bons posix emballage de la bibliothèque et les fonctions Linux et des structures (par exemple. Prises ou descripteurs de fichiers) dans les classes C++? Par exemple je pense à une classe FileDescriptor de base et à des classes héritées (unix sockets etc) avec des méthodes comme write, read ou même des syscalls (sendfile, splice) - toutes les exceptions de lancement au lieu de définir errno. Ou une certaine classe de mémoire partagée etc.C++ wrapper pour posix et linux fonctions spécifiques

Je n'arrive pas à trouver quelque chose comme ça et maintenant je considère l'écrire moi-même, car je dois souvent écrire une application C++ pour linux et soit utiliser des fonctions C (vérification d'erreur douloureuse), ou enveloppez-les moi-même à chaque fois.

--- EDIT ---

Eh bien ni QT, ni Boost compilera sur le système, nous utilisons - c'est un petit noyau Linux basé sur 2.4.29 installé sur les ordinateurs embarqués.

+0

Pourquoi emballer quelque chose s'il n'est pas destiné à être multiplateforme? En outre, la gestion des erreurs C n'est pas aussi pénible que d'assurer la sécurité des exceptions dans le code C++. –

Répondre

3

Essayez Common C++. Je ne l'ai pas utilisé moi-même, mais il soutient les choses que vous avez mentionnées.

+0

Cela devrait être ce que je cherche, merci – zbigh

0

Il y a Qt - qui est bien plus qu'une bibliothèque d'interface graphique. Nokia l'appellent "application et framework UI". La partie "application" fait référence à l'encapsulation des interfaces de Qt pour les fichiers, les sockets, les threads et bien plus encore.

Qt est C++, et à mon avis l'un des meilleurs conçu des bases de code C++ là-bas, donc il vaut vraiment la peine d'essayer.

4

Eh bien, pas exactement un emballage, mais Boost a une libraryforeverything, et prend en charge toutes les principales plates-formes.

0

posixcpp. C'est à un stade précoce maintenant. Ce n'est pas une plateforme croisée, mais orientée GCC et Linux. Sous licence LGPL 3.