#1 Le 16/09/2008, à 14:57
- heuuuuu
[resolu] Connaitre le compilateur d'un programme
Bonjour,
Savez-vous si il existe une commande permettant de savoir avec quel compilateur un programme/une bibliothèque a-t-il/elle été compilé ?
Merci d'avance...
Dernière modification par heuuuuu (Le 17/09/2008, à 08:39)
Quand les avions en papier ne partent plus au vent
On se dit que l'bon temps passe finalement...
...comme une étoile filante
http://forum.ubuntu-fr.org/viewtopic.php?id=139410
Hors ligne
#2 Le 16/09/2008, à 15:09
- Nasman
Re : [resolu] Connaitre le compilateur d'un programme
Peut-être qu'avec un éditeur hexadécimal tu pourras trouver des chaines de texte faisant référence au compilateur mais après l'édition des liens on est sencé avoir un programme exécutable et ce type d'information devient inutile, voire superflu.
PC fixe sous Bionic 64 bits et portable avec Focal 64 bits
Hors ligne
#3 Le 16/09/2008, à 15:30
- heuuuuu
Re : [resolu] Connaitre le compilateur d'un programme
J'ai essayé mais j'arrive pas a lire l'hexadécimal
Effectivement, c'est ce que je pensait, mais bon, dans mon cas ça aurait pu me servir donc ce n'est pas si superflu que ça...
Quand les avions en papier ne partent plus au vent
On se dit que l'bon temps passe finalement...
...comme une étoile filante
http://forum.ubuntu-fr.org/viewtopic.php?id=139410
Hors ligne
#4 Le 16/09/2008, à 17:12
- tiky
Re : [resolu] Connaitre le compilateur d'un programme
Pour lire l'hexadécimal tu as ghex pour Gnome, le mode hexl-mode pour Emacs et il doit sans doute exister quelque chose pour Vim. J'ai fait une recherche rapide avec emacs sur le binaire /bin/bash et je n'ai trouvé aucune mention sur gcc, sachant qu'il a été compilé avec gcc sous ma Gentoo...
La commande man elf te donnera de plus amples informations sur le format ELF utilisé pour les exécutables
Dernière modification par tiky (Le 16/09/2008, à 17:21)
Conseil d'expert: il vous faut un dentifrice adapté...
Hors ligne
#5 Le 16/09/2008, à 18:27
- heuuuuu
Re : [resolu] Connaitre le compilateur d'un programme
J'ai essayé od pour lire, ça marche mais après c'est plus que des chiffres (et ce sont ces chiffres que je ne sais pas lire lol)...
En tout cas merci, finalement le problème qui était derrière tout ça est résolu.
Quand les avions en papier ne partent plus au vent
On se dit que l'bon temps passe finalement...
...comme une étoile filante
http://forum.ubuntu-fr.org/viewtopic.php?id=139410
Hors ligne
#6 Le 17/09/2008, à 07:54
- Nasman
Re : [resolu] Connaitre le compilateur d'un programme
Un éditeur hexa affiche les valeurs hexa (octets) et les caractères ascii correspondants. Si tu ne vois pas de chaines de texte comme:
66 6F 6E 6A 6F 75 72 B o n j o u r
c'est que tu n'as pas de trace lisible du compilateur.
PC fixe sous Bionic 64 bits et portable avec Focal 64 bits
Hors ligne
#7 Le 17/09/2008, à 08:41
- heuuuuu
Re : [resolu] Connaitre le compilateur d'un programme
Ok, effectivement, je comprend mieux (od n'affiche pas la traduction).
Donc effectivement, aucune trace du compilateur, mais j'ai réussi a résoudre mon problème autrement.
Merci à vous deux.
Quand les avions en papier ne partent plus au vent
On se dit que l'bon temps passe finalement...
...comme une étoile filante
http://forum.ubuntu-fr.org/viewtopic.php?id=139410
Hors ligne
#8 Le 17/09/2008, à 09:31
- Karl_le_rouge
Re : [resolu] Connaitre le compilateur d'un programme
$ strings mon_binaire | grep GCC ?
Sinon, quant aux options de compilations, GCC n'inclut cette information sous forme ascii dans le binaire que depuis GCC 4.3 et à condition d'avoir utilisé le switch -frecord-gcc-switches
Hors ligne
#9 Le 18/09/2008, à 15:48
- Seren
Re : [resolu] Connaitre le compilateur d'un programme
Sinon plutôt qu'utiliser un éditeur hexa, il vaut mieux utiliser "readelf" qui permet d'ouvrir un executable au format ELF et d'avoir des informations lisibles.
Par contre j'ai aucune idée si le compilo est dans les infos du fichier elf.
"I am not young enough to know everything". Oscar Wilde
Hors ligne
#10 Le 18/09/2008, à 16:01
- tiky
Re : [resolu] Connaitre le compilateur d'un programme
J'ai regardé dans le man de elf et il en faisait pas mention. J'ai également essayé la commande readelf ( que je connaissais pas, merci beaucoup, elle a l'air très utile ! ) et il n'y a rien sur le compilateur. On peut par contre savoir avec quelle version de la glibc, on a compilé le binaire.
Conseil d'expert: il vous faut un dentifrice adapté...
Hors ligne