• # Bin c'est bien simple...

    Posté par (site web personnel, Mastodon) . En réponse au message Lister le contenu d'une archive .so. Évalué à 3.

    Un fichier .so n'est pas une archive. Il ne contient pas d'autre fichiers. C'est un objet partagé (Shared Object), d'où son nom. On appelle cela aussi une bibliothèque partagée. Elle contient juste les points d'entrée vers les symboles (fonctions, variables) définies dans la bibliothèque comme étant accessibles de l'extérieur.

    Pour t'en convaincre, utilise la commande file.


    [luis@donald .libs]$ file -i libgmcontacts.a
    libgmcontacts.a: application/x-archive
    [luis@donald .libs]$ file -i /lib/libpopt.so.0.0.0
    /lib/libpopt.so.0.0.0: application/x-sharedlib, stripped


    La commande nm peut te donner des infomations sur un objet les symboles définis à l'intérieur, du moment qu'ils n'ont pas été retirés avec strip. Après il existe peut être un commande ou un programme pour connaitre les points d'entrée d'un .so, mais je ne la connais pas. Et si rien ne marche, il reste la commande strings qui permet d'afficher les chaines de caractères contenues dans le fichier, et permet de retrouver des symboles (parmi bien d'autres choses).