Derniers journaux de Ikipou :
- [05/11@21:18] Le besoin d'open source en apprentissage artificiel
- [10/10@22:48] Comment trouver une page man?
- [02/10@21:07] Présentation de Linux Certif
- [21/09@22:23] Quoi de neuf pour Python?
- [18/09@20:16] Programmation système sous Linux
Journal : Les bibliothèques logicielles sous Linux
Posté par Benjamin Poulain (page perso, ) le 06 novembre 2007Un premier article introduit sur les bibliothèques partagées [http://www.linuxcertif.com/objectifs/Exam101/102/24/] et les outils.
Parmi les mots-clés, quatre d'entres eux concernant les bibliothèques ont été détaillés: ldd [http://www.linuxcertif.com/doc/keyword/ldd/], ldconfig [http://www.linuxcertif.com/doc/keyword/ldconfig/], ld.so.conf [http://www.linuxcertif.com/doc/keyword//etc/ld.so.conf/] et LD_LIBRARY_PATH [http://www.linuxcertif.com/doc/keyword/LD_LIBRARY_PATH/].
Ces articles sont écrits pour documenter l'objectif 1.102.4 du premier examen de la première certification du LPI (l'examen 101). Néanmoins ils peuvent intéresser tout les administrateurs Linux et j'espère qu'il sont suffisamment compréhensibles.
Je profite aussi de ce journal pour remercier l'anonyme qui a signalé les erreurs sur la documentation de ldconfig. Comme d'habitude, je serais heureux d'entendre vos remarques et suggestions sur les articles.
> Lire le journal (5 commentaires, moyenne: 3,4).
Chargement dynamique
Dans la même rubrique, quels outils utilisez vous pour charger dynamiquement une bibliothèque dans vos programmes?
Pour faire un programme modulaire, j'utilise libtool pour charger les plugins au démarrage. L'idéal serait de pouvoir charger et décharger les bibliothèques dans un programme déjà lancé.
Visitez Linux Certif, le site qu'il est bien pour les Linuxiens. (Passez voir aussi OpenYourCode pour les développeurs)
-
[^]Re: Chargement dynamique
Posté par Zenitram (page perso, ) le 06/11/2007 à 09:36. (lien). Évalué à 4.Perso, j'utilise :
- LoadLibrary()/GetProcAddress()/CloseLibrary() sous Windows
- dlopen()/dlsym()/dlclose() sous Windows/MacOS
- g_module_open()/g_module_symbol()/g_module_close() pour du "portable" GLIBC (contribution extérieure d'un fan de portabilité et de la glibc...)
Tu pourras trouver une exemple d'utilisation des trois à cette adresse :
http://mediainfo.cvs.sourceforge.net/mediainfo/MediaInfoLib/(...)
(désolé pour le fouilli, mais gérer les 3 chargements dynamiques, l'unicode ou pas etc... c'est un peu galère. Mais au moins ça pourra te donner l'idée de fonctionnement)-
[^]Re: Chargement dynamique
Posté par Benjamin Poulain (page perso, ) le 06/11/2007 à 12:49. (lien). Évalué à 1.Merci beaucoup.
Effectivement avec g_module_open c'est tout con mais il fallait connaître.
Et merci pour le code d'exemple.--
Visitez Linux Certif, le site qu'il est bien pour les Linuxiens. (Passez voir aussi OpenYourCode pour les développeurs)
-
[^]Re: Chargement dynamique
-
[^]Re: Chargement dynamique
Posté par GeneralZod () le 06/11/2007 à 14:18. (lien). Évalué à 8.Petite rectification:
* dlopen()/dlsym()/dlclose() ==> c'est du Posix, fourni dans la GNU Libc sous GNU/Linux.
* g_module_open()/g_module_symbol()/g_module_close() ==> c'est la GLIB qui est effectivement portable.
http://library.gnome.org/devel/glib/unstable/glib-Dynamic-Lo(...)
GLIB != GLIBC
-
Les journaux sont destinés à des informations qui ne sont pas suffisamment intéressantes
pour être validées en dépêche (sinon n'hésitez pas à proposer votre information en
dépêche), qui sont sans rapport avec Linux ou le libre, ou simplement pour donner votre
avis. Si vous désirez poser une question, merci d'utiliser 

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.