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 le format du module d'objet relocable Intel® (OMF), et le format de fichier d'objet commun (COFF) de Windows & Reg et Unix® System V. Dans de nombreux systèmes INIX®, le format exécutable et lien (ELF) est venu pour remplacer Coff.

Quel que soit le format, un fichier d'objet contient généralement trois types d'informationsCela 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.

Tous les code liens ne sont pas stockés 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 programmationVenez avec une bibliothèque standard de fonctions.

Au moyen d'un lien 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 l'environnement Windows®, ceux-ci sont appelés bibliothèques de liens dynamiques et sont désignés par une extension ".dll". Des systèmes similaires à UNIX® qualifient souvent ce type de fichier un objet partagé dynamique (DSO). Ce type de fichier d'objet peut également être implémenté pour une utilisation avec un programme particulier et ferait partie de l'installation de ce programme.

DANS D'AUTRES LANGUES