Le fichier exécutable
Le fichier exécutable, produit par le compilateur, contient les instructions binaires comprises par le microprocesseur, mais aussi d'autres informations qui serviront au système d'exploitation afin de disposer convenablement ces suites binaires en mémoire pour les faire exécuter par le microprocesseur.
Certains compilateurs produisent des fichiers intermédiaires à partir du code source, appelés fichiers objets, et ce sont ces fichiers objets qui sont transformés en fichiers exécutables dans une seconde étape. Ceci permet de créer un exécutable à partir de plusieurs fichiers objets qui ont été créés indépendamment, soit dans des temps différents, soit par des compilateurs différents. De cette façon, il est possible de créer un exécutable à partir de plusieurs codes source écrits dans des langages différents comme Pascal et C++ par exemple.
Pour sa part, le compilateur Java ne produit pas des suites binaires compréhensibles par le microprocesseur, mais plutôt une version intermédiaire utilisable par un environnement Java. C'est lors de l'exécution que ce fichier intermédiaire (portant l'extension .class) sera transformé en suites binaires comprises par la machine sur laquelle s'exécutera le programme. C'est de cette façon que Java arrive à produire des programmes qui peuvent fonctionner sur différentes machines : c'est l'environnement Java installé sur une machine particulière qui fait l'adaptation à cette machine.