Bibliothèque standard et édition de liens

Le problème exposé dans ce sujet a été résolu.

Bonjour,

j'aurais plusieurs questions à ce sujet.

  1. Où puis-je trouver les fichiers .a ou .so nécessaire à l'édition de liens dans le répertoire Linux pour la bibliothèque standard ? /lib et /usr/lib ? Quelle différence entre les deux ? /usr/lib contient les bibliothèques installées ?
  2. Ces répertoires sont-ils regardés par défaut par ld lors de l'édition des liens ?
  3. ld est-il appelé automatiquement lorsqu'on compile avec gcc avec l'option -o par exemple ?
  4. Puis-je trouver des versions en code source des ces bibliothèques ?

Merci !

Où puis-je trouver les fichiers .a ou .so nécessaire à l'édition de liens dans le répertoire Linux pour la bibliothèque standard ?

Dans /lib#, /usr/lib#, /usr/local/lib#, où # peut être rien, 32, 64 voir x32 (donc j'imagine x64 aussi).

Quelle différence entre les deux ?

Voir la FHS :

The /lib directory contains those shared library images needed to boot the system and run the commands in the root filesystem, ie. by binaries in /bin and /sbin.

/usr/lib includes object files, libraries, and internal binaries that are not intended to be executed directly by users or shell scripts.

/usr/lib<qual> performs the same role as /usr/lib for an alternate binary format

Filesystem Hierarchy Standard.

Ces répertoires sont-ils regardés par défaut par ld lors de l'édition des liens ?

/lib# et /usr/lib#, oui. /usr/local/lib# pas toujours.

ld est-il appelé automatiquement lorsqu'on compile avec gcc avec l'option -o par exemple ?

Oui.

Puis-je trouver des versions en code source des ces bibliothèques ?

Oui si les bibliothèques sont libres. Ce qui doit être le cas de la quasi-totalité de celles sur un système Linux nouvellement installé.

+0 -0

Voir la FHS :

The /lib directory contains those shared library images needed to boot the system and run the commands in the root filesystem, ie. by binaries in /bin and /sbin.

/usr/lib includes object files, libraries, and internal binaries that are not intended to be executed directly by users or shell scripts.

/usr/lib<qual> performs the same role as /usr/lib for an alternate binary format

Filesystem Hierarchy Standard.

Gabbro

Notons que pour de nombreuses distributions comme Fedora, /lib est un lien symbolique vers /usr/lib aujourd'hui.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte