La dernière version de la libPTS++ est 1.0
Pour connaitre les dernières news, reporter des bugs, avoir
de
l'aide ou télécharger la dernière
version de la
libpts++ nous vous invitons à visiter la page de gestion du
projet.
Qu'est
que la libPTS++ ?
La
librairie
Posix
Thread
and Socket
permet d'implémenter des pThreads et des Sockets en C++.
Elle est basée sur les librairies GlibC
et Winsock2 pour les Sockets et les
librairies NPTL (Native Posix Thread Library)
et POSIX Threads for WIN32 pour les
pThreads et fournit à l'utilisateur des classes simples à utiliser,
s'inspirant du modèle JAVA de Sun.
Pour le moment elle est orientée vers le développement des
serveurs TCP multithreadés et ses clients
associés.
Systèmes d'exploitation
Elle
a été developpée pour Linux et Microsoft Windows (via MinGW).
Grâce à un développement respectant scrupuleusement la norme
POSIX, elle est également compilable sous Sun Solaris et MAC OSX, mais
nous ne l'avons pas encore testée sous ces OS. Cela risque de prendre
un certains temps, car nous ne disposons pas de stations sous Solaris ou sous
MAC pour le moment. Avis aux amateurs....
Documentation
La documentation est disponible sous deux formes :
Organisation de l'archive télechargée
/autoconf contient les scripts Shell nécessaires à
la génération des makefiles.
/doc contient la documention générée avec Doxygen, pour avoir la page ouvrez le fichier index.htm dans votre navigateur internet.
/include contient les includes que vous devez utiliser pour le développement de votre application.
/lib
contient les binaires Linux
et MS Windows que nous avons générés
nous même, vous pouvez directement les utiliser ou recompiler les sources
si vous le souhaitez
/src contient les sources de la bibliothèque.
Compilation et installation
Si
vous voulez ne pas vous servir des binaires générés
par nos soins vous pouvez compiler vous même les sources.
Sous linux Il faut tout d'abord générer les
makefiles et vérifier que toutes les bibilothèques
nécessaires à la compilation sont installées, pour
cela nous utilisons les outils autoconf/automake,
qui permettent de le
faire pour vous. Dans une console dans le répertoire racine de
la librairie dézippée tapez :
$ ./configure (vous pouvez choisir le chemin d'installation avec l'option --prefix=/usr/local par exemple)
Une fois ce script fini si tout s'est bien passé, il a
généré les makefiles nécessaires à la
compilation de la librairie. Toujours dans le répertoire racine
de la librairie tapez :
$ make
La librairie compile donc et génère les extensions
nécessaires grâce à l'outil libtool.
C'est à dire
que vous allez avoir à disposition une librairie statique (.a)
et une librairie dynamique (.so).
Pour l'installation des binaires tapez :
$make install
Les
binaires de la librairie s'installeront alors dans l'emplacement spécifié
dans l'option --prefix de
configure (
si vous ne la mettez pas elle sera installée dans /usr/local/bin.
Il ne vous reste plus qu'à placer les includes là où vous
désirez ( ceci n'est pas encore fait automatiquement). Pour cela copiez
le répertoire include de l'archive et son contenu là où bon vous
semble (vous pouvez les mettre dans le répertoire de votre application
ou dans repertoire déclaré par le PATH
).
Sous Windows, nous avons laissé le point
projet de dev-C++.
Ce projet créé par nos soins permet de construire une librairie
partagée dll. Il est également possible de créer un librairie
statique en changeant le type de projet en "librarie statique".
Avant la compilation il faudra d'abord
installer la librairie POSIX
Threads for Win32 sur laquelle nous
nous basons pour utiliser des threads POSIX sous Windows. Il suffit de copier
la dll
ou le .a
dans le répertoire /lib
de dev-C++
et les includes dans le repertoire /include
de devC++.
Vérifiez bien que les options
d'inclusion de librairie -lwsock32
(pour les sockets) et -lpthreadGCE2
( librairie pThread for Win32) sont bien spécifiées dans les options
du projet.
Il ne vous reste plus qu'à construire le projet en appuyant sur le bouton approprié.
Si vous rencontrez des problèmes n'hésitez pas à demander du support dans la rubrique "support" du forum.
Utilisation
Sous linux, si vous avez bien spécifié l'endroit des binaires dans le LD_LIBRARY_PATH l'utilisation
est simple, il suffit juste de spécifier son inclusion
lors de l'édition des liens avec l'option -lpts1.
Par ex :
$g++ main.o -lpts1
Sous Windows, ce n'est
pas plus compliqué, il faut lier la dll ou le .a lors de
la compilation, reportez-vous à la documentation de votre
logiciel de développement.
Si vous utilisez la librairie statique
il vous faudra spécifier les autres librairie à lier, c'est à
dire utiliser les options -lwsock32
et -lpthreadGCE2.
Par contre si vous utilisez la dll, il faudra juste spécifier celle-ci
lors de l'édition des liens. Comme la dll de la librairie est liée
dynamiquement à la dll de la librairie POSIX
Threads for Win32, lors de l'exécution
de votre programme, elle vous sera demandée par Windows, ainsi que la
dll de MinGW.
Si vous rencontrez des problèmes n'hésitez pas à demander du support dans la rubrique "support" du forum.
Mailing list
Pour avoir les dernières infos concernant la libPTS++ vous pouvez vous inscrire à la
mailing-list.
Un email vous sera envoyé pour vous signaler la sortie de
nouvelles versions avec les changelogs, ou pour la découverte de
bugs ou tout autre info importante...
Vous pensez avoir
détecté un ou des bugs !
Vous
pouvez nous reporter ces bugs dans la rubrique "bugs" sur la page du projet sourceforge
en expliquant précisement lors de quelles actions les bugs se déclenchent.
Si vous pouvez, envoyez nous le bout de code (ou un exemple) déclenchant ces
bugs, ce qui nous permettera de les corriger plus rapidement.
Licence
La librairie
libPTS++ est protégée par la licence protectrice libre GNU
LGPL (Lesser General Public License).
Vous pouvez consulter le texte en anglais sur cette
page, pour ceux qui aurait du mal
avec l'anglais, une version traduite en français est disponible sur cette
page (attention il s'agit d'une traduction
non officielle).
Qui
sont les auteurs ?
Remerciements