Salut tout le monde,
Es ce que quelqu'un sait comment visualiser un fichier objet générer avec la commande :
gcc -c fichier.c
Merci beaucoup,
Version imprimable
Salut tout le monde,
Es ce que quelqu'un sait comment visualiser un fichier objet générer avec la commande :
gcc -c fichier.c
Merci beaucoup,
Bonsoir,
Les fichiers objets s'ouvrent avec des programmes 3D à ma connaissance.
Essaie plutôt cette commande:
cordialementCode:gcc -Wall -o fichier.o -c fichier.c
Bonjour,
Je dois dire qu'il y a confusion.
Un fichier .obj ... contient bien souvent un objet 3D (format de blender ... et autre).
Un fichier .o (généré par gcc) ou .obj (avec Visual Studio) contient du code ... et n'est pas vraiment lisible (c'est du code compilé). Donc, on n'essaiera pas vraiment de l'ouvrir.
Si vraiment on veut tenter, on peut utiliser un éditeur hexa. Ou, si on est sur un Unix ou équivalent, on peut tenter la commande "strings" qui extrait les chaines de caractères.
Ou alors, plutôt que d'aller voir le fichier ".o", on peut demander gcc -s qui ira générer le code assembleur correspondant au .c et le stockera dans un fichier ".s"...
On peut surtout utiliser les outils dédiés, comme nm sous UNIX en général, et objdump chez GNU. Notamment pour avoir les symboles résolus dynamiquement :
Code:
1
2 $ nm -D fichier.o
Bonjour à tous,
Merci pour vos réponses.
J'ai trouvé (sous linux) la commande qui me permet de lire ça :
od -x fichier.o
ça te donne le fichier en binaire dure, Exemple :
Merci et bonne journéeCode:
1
2
3
4
5
6
7
8
9 0000000 457f 464c 0101 0301 0000 0000 0000 0000 0000020 0001 0003 0001 0000 0000 0000 0000 0000 0000040 0450 0000 0000 0000 0034 0000 0000 0028 0000060 000e 0009 0000 0000 0000 0000 0000 0000 0000100 0000 0000 0001 0000 0000 0000 0000 0000 0000120 0004 fff1 0008 0000 0000 0000 0000 0000 0000140 0003 0009 0010 0000 0000 0000 0000 0000 0000160 0003 0001 0018 0000 0000 0000 0000 0000
od est un éditeur / visualisateur de fichier en hexadécimal (c'est un peu simplifié :p).
Il permet de lire tout est n'importe quel fichier, mais les informations qu'il affiche sont très difficilement lisible. C'est pour cela que les autres membres essayer de répondre à la question, pour les .o précisément, avec des outils qui donnent de vrai information utile et ceci, rapidement.
Merci beaucoup pour vos réponses,
Au faite le bute c de faire le lien entre binaire et assembleur c'est pour ça je me suis pas orienté vers objdump par exempl.
Merci beaucoup :ccool:
Dans ce cas, tu devrais adorer
Code:
1
2 $ gcc -S fichier.c
… et
Code:
1
2 $ objdump -d fichier.o