Différence entre le programme source et le programme objet

Table des matières:

Différence entre le programme source et le programme objet
Différence entre le programme source et le programme objet

Vidéo: Différence entre le programme source et le programme objet

Vidéo: Différence entre le programme source et le programme objet
Vidéo: Différence entre un interpréteur et un compilateur ? 🅲 MOOC 2024, Juillet
Anonim

La principale différence entre le programme source et le programme objet est que le programme source est un programme lisible par l'homme écrit par un programmeur, tandis que le programme objet est un programme exécutable par la machine créé en compilant un programme source.

Les programmes source peuvent être compilés ou interprétés pour être exécutés. Les décompilateurs aident à reconvertir les programmes objet en leurs programmes source d'origine. Il est important de noter que les termes programme source et programme objet sont utilisés comme des termes relatifs. Si vous prenez un programme de transformation de programme (comme un compilateur), ce qui entre est un programme source et ce qui sort est un programme objet. Par conséquent, un programme objet produit par un outil peut devenir un fichier source pour un autre outil.

Qu'est-ce qu'un programme source ?

Le programmeur écrit le programme source en utilisant un langage de niveau supérieur. Par conséquent, il est facilement lisible par les humains. Les programmes source contiennent généralement des noms de variables significatifs et des commentaires utiles pour le rendre plus lisible. Une machine ne peut pas exécuter directement un programme source. Un compilateur aide à transformer le programme source en code exécutable à exécuter par la machine. Alternativement, est d'utiliser un interprète. Il exécute un programme source ligne par ligne sans pré-compilation.

Différence entre le programme source et le programme objet
Différence entre le programme source et le programme objet
Différence entre le programme source et le programme objet
Différence entre le programme source et le programme objet

Figure 01: Un programme source

Visual Basic est un exemple de langage compilé, tandis que Java est un exemple de langage interprété. Les fichiers source Visual Basic (fichiers.vb) sont compilés en code.exe, tandis que les fichiers source Java (fichiers.java) sont d'abord compilés (à l'aide de la commande javac) en bytecode (un code objet contenu dans les fichiers.class), puis interprétés à l'aide de la interprète java (à l'aide de la commande java). Lorsque des applications logicielles sont distribuées, elles n'incluent généralement pas de fichiers source. Cependant, si l'application est open source, la source est également distribuée et l'utilisateur peut également voir et modifier le code source.

Qu'est-ce qu'un programme objet ?

Le programme objet est généralement un fichier exécutable par la machine, qui est le résultat de la compilation d'un fichier source à l'aide d'un compilateur. Outre les instructions machine, ils peuvent inclure des informations de débogage, des symboles, des informations de pile, des informations de relocalisation et de profilage. Puisqu'ils contiennent des instructions en code machine, ils ne sont pas facilement lisibles par les humains. Mais parfois, les programmes objets font référence à un objet intermédiaire entre les fichiers source et exécutable.

Les outils connus sous le nom de linkers permettent de lier un ensemble d'objets dans un exécutable (par exemple, le langage C). Comme mentionné ci-dessus, les fichiers.exe et les fichiers bytecode sont des fichiers objets produits respectivement lors de l'utilisation de Visual Basic et Java. Les fichiers.exe s'exécutent directement sur la plate-forme Windows tandis que les fichiers de bytecode ont besoin d'un interpréteur pour s'exécuter.

La plupart des applications logicielles sont distribuées uniquement avec l'objet ou les fichiers exécutables. Il est possible de reconvertir l'objet ou les fichiers exécutables en ses fichiers source d'origine par décompilation. Par exemple, les outils de décompilation peuvent décompiler les fichiers java.class (bytecode) dans ses fichiers.java d'origine.

Quelle est la différence entre le programme source et le programme objet ?

Le programme source est un programme lisible par l'homme écrit par un programmeur. Il est écrit dans des langages de niveau supérieur tels que Java ou C. Par conséquent, un programme source est lisible par l'homme. Ce n'est pas compréhensible par la machine.

D'autre part, le programme objet est un programme exécutable par la machine créé après la compilation d'un programme source. Il contient des langages de niveau inférieur tels que l'assemblage ou le code machine. Par conséquent, le programme objet n'est pas lisible par l'homme. C'est compréhensible par la machine.

Différence entre le programme source et le programme objet sous forme tabulaire
Différence entre le programme source et le programme objet sous forme tabulaire
Différence entre le programme source et le programme objet sous forme tabulaire
Différence entre le programme source et le programme objet sous forme tabulaire

Résumé – Programme Source vs Programme Objet

La différence entre le programme source et le programme objet est que le programme source est un programme lisible par l'homme écrit par un programmeur tandis que le programme objet est un programme exécutable par la machine créé en compilant un programme source.

Conseillé: