En la primera etapa, la de compilación, nuestro código en C se transforma en código objeto, es decir, código máquina (instrucciones que el ordenador puede ejecutar) en ficheros codice_2, mientras que en la segunda etapa (enlazado) estos ficheros objeto son unidos entre sí para formar el fichero ejecutable (normalmente sin extensión en el mundo Unix, o con extensión codice_3 o codice_4 en el mundo MS-DOS/Windows).