Et ? Si tu fais "gcc toto.c" tout court, l'édition de liens est implicite aussi. Cela ne veut pas dire que l'édition de liens fait partie de la compilation. De même pour le préprocessing. D'ailleurs toutes ces tâches sont effectuées par des exécutables séparés ("gcc" est une façade masquant l'enchaînement des différentes phases). Bref...
Et si tu ne me fais pas confiance, tu te remues un peu et tu vas lire Wikipédia :
« En pratique, un compilateur sert le plus souvent à traduire un code source écrit dans un langage de programmation en un autre langage, habituellement un langage d'assemblage ou un langage machine. » (note le "habituellement" et le "ou")
[à propos de l'assembleur] « Ce langage symbolique doit être assemblé (et non compilé) et lié pour obtenir une version exécutable. »
« La transformation du code assembleur en langage machine est accomplie par un programme nommé assembleur, dans l'autre sens par un programme désassembleur. Les opérations s'appellent respectivement assemblage et désassemblage. »
[^] # Compile "plus de bruit"
Posté par Antoine . En réponse à la dépêche Projet NACA [2]: transcodage automatique vers Java de 4 millions de lignes Cobol. Évalué à 5.
Et ? Si tu fais "gcc toto.c" tout court, l'édition de liens est implicite aussi. Cela ne veut pas dire que l'édition de liens fait partie de la compilation. De même pour le préprocessing. D'ailleurs toutes ces tâches sont effectuées par des exécutables séparés ("gcc" est une façade masquant l'enchaînement des différentes phases). Bref...
Et si tu ne me fais pas confiance, tu te remues un peu et tu vas lire Wikipédia :
« En pratique, un compilateur sert le plus souvent à traduire un code source écrit dans un langage de programmation en un autre langage, habituellement un langage d'assemblage ou un langage machine. » (note le "habituellement" et le "ou")
[à propos de l'assembleur] « Ce langage symbolique doit être assemblé (et non compilé) et lié pour obtenir une version exécutable. »
http://fr.wikipedia.org/wiki/Compilateur
« La transformation du code assembleur en langage machine est accomplie par un programme nommé assembleur, dans l'autre sens par un programme désassembleur. Les opérations s'appellent respectivement assemblage et désassemblage. »
http://fr.wikipedia.org/wiki/Langage_assembleur
Donc voilà, le passage de C à assembleur s'appelle compilation et le passage de l'assembleur au code machine s'appelle assemblage.