Quelle est la différence entre un fichier objet et un fichier exécutable

le différence principale entre le fichier objet et le fichier exécutable est que un fichier objet est un fichier généré après la compilation du code source, tandis qu'un fichier exécutable est un fichier généré après la liaison d'un ensemble de fichiers objets à l'aide d'un éditeur de liens.  

C est un langage de programmation généraliste de haut niveau. De plus, c'est un langage de programmation structuré qui aide à écrire des programmes efficaces. Les systèmes d'exploitation, les compilateurs de langage, les éditeurs de texte, les pilotes de réseau, les bases de données sont quelques applications du langage de programmation C. Object File et Executable File sont deux fichiers liés à la programmation en C..

Zones clés couvertes

1. Qu'est-ce qu'un fichier objet?
     - Définition, fonctionnalité
2. Qu'est-ce qu'un fichier exécutable?
     - Définition, fonctionnalité
3. Quelle est la relation entre le fichier objet et le fichier exécutable
     - Schéma d'association
4. Quelle est la différence entre un fichier objet et un fichier exécutable
     - Comparaison des différences clés

Mots clés

Langage C, fichier exécutable, fichier objet

Qu'est-ce qu'un fichier objet?

Tout d’abord, le programme C est un ensemble d’instructions écrites en langage de programmation C pour effectuer une tâche spécifique. Ce programme s'appelle le code source. Le programmeur peut lire et comprendre le code source, mais le processeur ne le comprend pas. Par conséquent, il est nécessaire de convertir le code source dans un format compréhensible par la machine. Un code objet est généré après la compilation du code source.

Figure 1: Code source

Le fichier objet est un autre nom pour le code objet. Le fichier objet a l'extension .obj dans l'environnement Windows. De plus, le fichier objet a le. o extension de fichier dans un environnement Linux. Cependant, la CPU ne peut pas exécuter directement le fichier objet..

Qu'est-ce qu'un fichier exécutable?

Après avoir écrit le programme C, le programmeur doit les éditer s’il ya des erreurs de syntaxe. Cependant, s'il n'y a pas d'erreur de syntaxe, le compilateur convertit le code source en un fichier objet. Ensuite, l'éditeur de liens effectue le processus de liaison. Il faut un ou plusieurs fichiers objets générés par le compilateur et les combine en un seul fichier exécutable. De plus, il relie les autres fichiers et fonctions du programme. Par exemple, si le programme a la fonction “exp ()”, l’éditeur de liens le lie à la bibliothèque mathématique du système..

Figure 2: Création d'un fichier exécutable

Le programmeur ne comprend pas les instructions du fichier exécutable, mais la CPU peut lire et comprendre ces instructions. Par conséquent, la CPU exécute directement le fichier exécutable pour effectuer les tâches définies dans le programme..

Relation entre le fichier objet et le fichier exécutable

  • Les fichiers d'objet se combinent pour créer un fichier exécutable.

Différence entre le fichier objet et le fichier exécutable

Définition

Un fichier objet est un fichier contenant un code objet dont le code machine est un format déplaçable et qui n'est pas directement exécutable. Un fichier exécutable est un fichier pouvant être exécuté directement par l'ordinateur et capable d'exécuter les tâches indiquées en fonction des instructions codées. Cela explique donc la principale différence entre le fichier objet et le fichier exécutable..

Type

Une autre différence entre fichier objet et fichier exécutable réside dans le fait qu’un fichier objet est un fichier intermédiaire mais qu’un fichier exécutable est un fichier final..

La fonctionnalité

De plus, le compilateur convertit le code source en un fichier objet. Cependant, l'éditeur de liens lie les fichiers d'objet à la bibliothèque système et combine les fichiers d'objet pour créer un fichier exécutable..

Exécution directe par CPU

En outre, la CPU ne peut pas exécuter directement le fichier objet, alors que la CPU peut directement exécuter un fichier exécutable. Il s’agit donc d’une différence majeure entre le fichier objet et le fichier exécutable..

Conclusion

En conclusion, Object File et Executable File sont deux fichiers liés à la programmation en C. La principale différence entre un fichier objet et un fichier exécutable est qu'un fichier objet est un fichier généré après la compilation du code source, tandis qu'un fichier exécutable est un fichier généré après la liaison d'un ensemble de fichiers objets à l'aide d'un éditeur de liens.. 

Référence:

1. «Linker (Computing)». Wikipédia, Wikimedia Foundation, 6 octobre 2018, disponible ici.

Courtoisie d'image:

1. “Code source en C” de Romainhk - Travail personnel (image et code) (CC BY-SA 3.0) via Commons Wikimedia
2. “Étapes de construction du langage C” (CC BY-SA 3.0) via Commons Wikimedia