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.
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).
Question stupide (débutant quasi intégral, là...) : quel est l'intérêt de stripper ses bibliothèques partagées, et surtout comment le compilateur fait-il pour retrouver les noms de symboles quand on les utilise ? avec les headers, ok, mais comment alors sait-il les retrouver dans la bibliothèque partagée ?
# Bin c'est bien simple...
Posté par liberforce (site web personnel) . Évalué à 3.
Pour t'en convaincre, utilise la commande file.
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).
[^] # Re: Bin c'est bien simple...
Posté par khivapia . Évalué à 2.
Merci !
[^] # Re: Bin c'est bien simple...
Posté par Émilien Tlapale . Évalué à 1.
[^] # Re: Bin c'est bien simple...
Posté par Émilien Tlapale . Évalué à 3.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.