Je comprends comment définir des objets partagés au moment de la liaison / compilation. Cependant, je me demande toujours comment les exécutables recherchent l’objet partagé ( *.so
bibliothèques) au moment de l’exécution.
Par exemple, mon application a.out
appelle des fonctions définies dans la lib.so
bibliothèque. Après la compilation, je passe lib.so
à un nouveau répertoire dans mon répertoire $HOME
.
Comment puis-je dire a.out
d'aller chercher là-bas?
/lib64
et/usr/lib64
sont utilisés pour des binaires 64 bits et/lib
et/usr/lib
sont utilisés pour binaires 32 bits.