Différence entre le programme source et le programme d'objets

Différence entre le programme source et le programme d'objets

Le différence clé entre le programme source et le programme d'objets est que Le programme source est un programme lisible par l'homme rédigé par un programmeur tandis que le programme d'objets est un programme exécutable de machine créé en compilant un programme source.

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

CONTENU

1. Aperçu et différence clé
2. Qu'est-ce que le programme source
3. Qu'est-ce que le programme d'objets
4. Comparaison côte à côte - programme source vs programme d'objets sous forme tabulaire
5. Résumé

Qu'est-ce que le 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, c'est utiliser un interprète. Il exécute un programme source ligne par ligne sans pré-compilation.

Figure 01: un programme source

Visual Basic est un exemple de langue compilée, tandis que Java est un exemple de langue interprétée. Fichiers source de base visuels (.Les fichiers VB) sont compilés pour .Code EXE, tandis que les fichiers source Java (.Les fichiers Java) sont d'abord compilés (en utilisant la commande javac) sur bytecode (un code d'objet contenu dans .Fichiers de classe) puis interprété à l'aide de l'interpréteur Java (en utilisant la commande java). Lorsque les applications logicielles sont distribuées, ils n'incluront généralement pas les 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 que le programme d'objets?

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

Les outils appelés Linkers aident à lier un ensemble d'objets dans un exécutable (E.g. C Langue C). Comme mentionné ci-dessus .Les fichiers EXE et les fichiers bytecode sont des fichiers d'objets produits lors de l'utilisation respectivement de Visual Basic et Java. Le .Les fichiers EXE s'exécutent directement sur la plate-forme Windows tandis que les fichiers bytecode ont besoin d'un interprète d'exécution.

La plupart des applications logicielles sont distribuées avec l'objet ou les fichiers exécutables uniquement. Il est possible de convertir l'objet ou les fichiers exécutables à ses fichiers source d'origine par décompilation. Par exemple, les outils de décompilateur peuvent décompiler Java.Fichiers de classe (bytecode) dans son original .Fichiers Java.

Quelle est la différence entre le programme source et le programme d'objets?

Le programme source est un programme lisible par l'homme écrit par un programmeur. Il est écrit dans des langues de niveau supérieur telles 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'un autre côté, le programme Object est un programme exécutable de machine créé après avoir compilé un programme source. Il contient des langages de niveau inférieur tels que l'assemblage ou le code machine. Par conséquent, le programme d'objet n'est pas lisible par l'humain. C'est compréhensible par la machine.

Résumé - Programme source vs Programme d'objets

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

Référence:

1."Code source." Wikipédia, Fondation Wikimedia, 17 mai 2018. Disponible ici

2."Code objet." Wikipédia, Fondation Wikimedia, 14 mai 2018. Disponible ici 

Image gracieuseté:

1.'Codecmmt002'By dreftymac (ccby 2.5) Via Commons Wikimedia