Skip to main content

Qu'est-ce qu'un fichier d'objet?

Un fichier d'objet est un fichier informatique généré par un programme appelé compilateur et contient des données ainsi que des instructions.Les compilateurs traduisent le code source du langage de programmation en un formulaire intermédiaire lisible par machine appelé code d'objet.Les programmes plus petits peuvent être compilés dans un seul fichier d'objet, tandis que les programmes plus grands sont généralement compilés dans plusieurs fichiers de fonction associée.Ces fichiers d'objets individuels sont rejoints par un linker et des informations spécifiques au système d'exploitation sont ajoutées pour former un programme exécutable.

Dans la pratique courante, un fichier d'objet est indiqué par une extension de fichier .obj.Il existe cependant plusieurs formats différents pour ces fichiers.Les plus courants sont les Intel Format du module d'objet relocable (OMF) et format de fichier d'objet commun (Coff) de Windows Reg et Unix Système V. Dans de nombreux INIX Systèmes, le format exécutable et lien (ELF) est venu remplacer Coff.

Quel que soit le format, un fichier d'objet contient généralement trois informations de types qui lui permet d'interagir avec d'autres modules de programme.Les procédures et les données ouvertes à la référence extérieure sont attribuées de noms par lesquels ils peuvent être appelés à partir d'autres modules.De même, les références aux informations en dehors du module sont notées mais non attribuées de nom.Lorsque les fichiers sont liés, les références anonymes seront attribuées le nom qui leur est donné dans le module où ils ont été définis à l'origine.Les noms locaux sont utilisés pour les instructions et les données mentionnées uniquement dans un module.

Tout le code lien n'est pas stocké sous forme de fichiers d'objet.Les bibliothèques sont des collections de routines précompilées qui sont stockées sous forme de code d'objet.Ils sont produits de la même manière que les fichiers d'objets et sont utiles pour stocker les procédures fréquemment appelées.Lorsqu'un linker ne trouve pas de référence dans d'autres fichiers d'objets, il le recherchera automatiquement dans un fichier de bibliothèque.La plupart des implémentations d'un langage de programmation sont livrées avec une bibliothèque standard de fonctions.

Au moyen d'une liaison dynamique, un fichier d'objet peut être utilisé simultanément par plusieurs programmes d'exécution.Au lieu de lier le code d'objet à un programme lorsqu'il est lié, il est récupéré lorsque le programme est chargé ou à l'exécution lorsqu'une procédure est référencée.Dans les Windows Environnement, ceux-ci sont appelés bibliothèques de liens dynamiques et sont désignés par une extension .dll.Des systèmes similaires à Unix Terminez souvent ce type de fichier un objet partagé dynamique (DSO).Ce type de fichier d'objet peut également être mis en œuvre pour une utilisation avec un programme particulier et ferait partie de l'installation de ces programmes.