next up previous contents Next: Création de fichiers DLL.so. Up: Linux Base d'administration pour Previous:  Combiner le tout.   Table des matières  


24. Bibliothèques partagées.

Ce chapitre est un prolongement direct de l'élaboration des bibliothèques statiques à extension .a comme cela a été vu au Chapitre 23. Nous y discutons la création et l'installation de bibliothèques liées dynamiquement (DLLs ou Dynamically Linked Libraries). Ainsi, nous allons avoir une vue d'ensemble de bon niveau technique à propos du fonctionnement des DLLs sur UNIX. Dans ce qui est discuté ci-après, vous ne devrez pas oublier ldconfig et LD_LIBRARY_PATH.

Les fichiers .a des bibliothèques liées statiquement sont utiles pour créer des fonctions que de nombreux programmes incorporent. Cette manière de procéder est connue sous le terme de réutilisabilité du code (code reuse). Cependant, si on analyse un peu la manière dont un fichier est lié (en réalité, incorporé) dans un exécutable comme mon_test (au chapitre 23), on s'aperçoit vite que la taille de ce dernier fichier a augmenté d'exactement la taille de libsimple_math.a. Si des centaines de programmes utilisent le même fichier .a, le code est dupliqué à chaque utilisation. Une telle inefficacité a été considérée comme rédhibitoire bien avant la naissance de LINUX. Des fichiers de bibliothèque ont été inventés, qui se lient seulement lorsqu'un programme qui y fait appel est exécuté. Cette manière de procéder est basée sur le chargement dynamique. Au lieu d'avoir à faire à des fichiers .a, on utilise dans ce cas des fichiers .so (shared object) se trouvant dans /lib et /usr/lib. Le chargement se fait de manière automatique lorsqu'un programme est exécuté.



Sections
next up previous contents Next: Création de fichiers DLL.so. Up: Linux Base d'administration pour Previous:  Combiner le tout.   Table des matières  
1-01-2006