B++ Library est une bibliothèque C++/Java thread-safe qui tente d'être aussi portable et réutilisable que possible. Elle fournit donc un ensemble de composants logiciels basés sur une conception orientée objet qui sont indépendants du compilateur et du système d'exploitation. Cette bibliothèque est totalement documentée, le code binaire et le code source sont gratuits d'utilisation, d'accès et de modification à condition de respecter . Cette bibliothèque est développée principalement dans le cadre d'études dans le domaine de la recherche opérationnelle et de la simulation, mais elle repose sur des composants logiciels de base portables (conversion de types, gestion de fichiers, threads, sérialisation...), des éléments d'aide au développement tels que des contrôles et des rapports de débogage (traçage des méthodes exécutées, contrôle de l'allocation et de la libération de la mémoire, contrôle de l'ouverture et de la fermeture des fichiers) et une génération semi-automatique de la documentation (la section intitulée en est le résultat). Plus récemment, la bibliothèque intègre un mécanisme que nous appelons permettant une utilisation simple de classes Java en C++. Il est basé sur Java Native Interface (JNI). A chaque classe Java est associée une classe C++ qui reprend ses attributs et ses méthodes, et possède un héritage équivalent. Le propos d'un tel outil est de fournir un environnement graphique totalement portable pour des applications C++. La seule exigence est pour le système d'avoir une machine virtuelle. Ces éléments font de la B++ Library un environnement utile pour le développement de n'importe quel programme en C++. En outre, son intégration à un programme C++ existant est relativement simple (bien que l'étape de compilation soit un peu délicate, à cause de l'interaction dans la bibliothèque de code Java et C++), ce qui permet à quiconque de développer et de diffuser des composants logiciels qui seront portables et réutilisables dans n'importe quel environnement C++. Les seules contraintes sont que le compilateur C++ doit posséder une bibliothèque STL et doit pleinement implémenter les "namespaces". Voici quelques sites Web où vous pourrez trouver un compilateur C++ approprié. Un compilateur Java est également nécessaire pour les parties écrites en Java. Vous pouvez en obtenir un sur le site de Sun Microsystems.
Téléchargez ici les différentes parties de la bibliothèque. Deux versions existent car tous les systèmes d'exploitation n'ont pas la même séquence ASCII de fin de ligne. La version ASCII 10 est pour les systèmes d'exploitation Unix. La version ASCII 13-10 est pour les systèmes d'exploitation Microsoft. Pour les autres systèmes d'exploitation, nous ne connaissons pas la séquence ASCII de fin de ligne, donc essayez les deux versions. L'une d'elles devrait fonctionner.
Utilisez un logiciel comme WinZip (pour MS-Windows) ou TAR et GZIP (pour Unix) pour extraire ces trois archives. Commencez par extraire l'archive sources qui va créer un dossier nommé
De la documentation sur les divers algorithmes de graphes implémentés dans cette bibliothèque peut être trouvée dans les sources listées ci-dessous, certaines sont en anglais, d'autres en français.
La documentation qui suit tente d'expliquer comment compiler cette bibliothèque et l'utiliser dans le développement d'un programme C++. Chaque module de cette bibliothèque est détaillé. Toutefois, si vous avez des questions, des problèmes pour compiler ou utiliser cette bibliothèque, des remarques ou des bugs à signaler, vous pouvez envoyer un e-mail à
|