|  
    
Les programmes qui traduisent le code source en code objet sont appelés compilateurs. et assembleurs . 
  
 * Compilateurs : Ceux-ci traduisent le code source de haut niveau (écrit dans des langages comme C, C++, Java, Python, etc.) en langage assembleur ou directement en code machine (code objet). Le processus implique généralement plusieurs étapes, notamment l'analyse lexicale, l'analyse syntaxique, l'analyse sémantique, l'optimisation et la génération de code. Le code objet résultant est spécifique à l'architecture cible (par exemple, x86-64, ARM).  
  
 * Assembleurs : Ceux-ci traduisent le langage assembleur (une représentation de bas niveau et lisible par l’homme du code machine) en code objet. Le langage assembleur utilise des mnémoniques pour représenter les instructions machine, ce qui facilite le travail des programmeurs par rapport au code machine brut.  
  
 Bien que les compilateurs génèrent souvent un langage assembleur comme étape intermédiaire, ils produisent finalement du code objet. Les assembleurs travaillent directement avec le langage assembleur pour produire du code objet. Par conséquent, les deux sont cruciaux dans le processus de transformation du code source en programmes exécutables. Un éditeur de liens combine ensuite ces fichiers objets (et souvent des bibliothèques précompilées) pour créer le fichier exécutable final.
 
 |