Partage
  • Partager sur Facebook
  • Partager sur Twitter

Fichier .O

Sujet résolu
8 septembre 2009 à 19:26:06

Resalut,

A quoi ca sert l'extension .O SVP?
Merci
  • Partager sur Facebook
  • Partager sur Twitter
8 septembre 2009 à 19:48:47

Les fichier .o sont les fichier crée lors de la compilation(des fichier en binaire donc).
  • Partager sur Facebook
  • Partager sur Twitter
8 septembre 2009 à 19:51:28

Bonjours

Un fichier .o est un fichier "objet" (rien a voir avec la POO hein) qui sert d'intermediaire dans la compilation.
Un fichier .o contient principalement du code machine (binaire), mais aussi des informations pour le debugage, le linkage des bibliotheques, et encore d'autres trucs ...

Voilou : )
  • Partager sur Facebook
  • Partager sur Twitter
Découvrez un petit jeu Android bien sympa : http://www.siteduzero.com/forum/sujet/appli-jeu-android-cube-racer
8 septembre 2009 à 21:23:35

il n'est pas très utile donc, si je me trompe pas!
comment le générer?
  • Partager sur Facebook
  • Partager sur Twitter
8 septembre 2009 à 21:28:20

Je te l'ai dit il est génerer automatiquement lors de la compilation dnasle dossier objet>debug de ton projet.

PS: Bien sur que c'est utile!On dirait que tu lit pas les réponses...
  • Partager sur Facebook
  • Partager sur Twitter
9 septembre 2009 à 0:19:41

Lors de la compilation, ton compilateur va faire diverses operations sur tes fichiers sources (tes fichiers .c) :

J'ai mis en italique les commandes unix qui permettent de visualiser le code fourni par les differentes etapes. (Si il y a des curieux).

1) Preprocessing
Dans cette premiere etape, ton compilo va en quelque sorte purifier ton code :
il enleve les commentaire, il inclue les fichiers .h, et traite les directives de compilation (c'est toute les lignes qui commencent par #, par exemple #define, #ifndef ...)

(gcc -E tonfichier.c pour voir le resultat de cette operation)


2) Compiling
Dans cette deuxieme etape, le compilateur va reprendre le code fourni par l'etape precedente, et le transformer en code en langage assembleur (langage de plus bas niveau, tres proche du langage machine).

(gcc -s tonfichier.c pour voir le resultat de cette operation)


3) Assembling
Dans cette 3eme etape, le compilateur va prendre le code assembleur obtenu par l'etape precedente, et le transformer en code machine (binaire), c'est nos fameux .o. Les .o sont donc tres importants !

(gcc -c tonfichier.c pour voir le resultat de cette operation)


4) Linking
La derniere etape va reunir tout nos .o, chercher le code des fonctions utilises dans les librairies externe (par exemple la fonction printf), et ensuite former l'executable final.

(gcc tonfichier.c pour faire un executable :p)


On voit donc que les .o sont necessaire a la creation de l'executable final.
Je me repete, mais ils sont importants.

Si tu n'as rien compris dans tout ce que je t'ai raconter, retiens simplement que les .o servent a former un executable final, ils sont donc importants.
  • Partager sur Facebook
  • Partager sur Twitter
Découvrez un petit jeu Android bien sympa : http://www.siteduzero.com/forum/sujet/appli-jeu-android-cube-racer
9 septembre 2009 à 21:54:15

merci pour ces explications! c'est clair pour moi maintennat!
  • Partager sur Facebook
  • Partager sur Twitter
6 décembre 2019 à 10:07:23

Est ce qu'on peut compilet a partie du fichier .o??? SVP
  • Partager sur Facebook
  • Partager sur Twitter
6 décembre 2019 à 11:05:51

Bonjour,

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter