Generalmente hay varias etapas para llegar desde el código fuente hasta el programa ejecutable. 1. Generación del algoritmo. Planteo del problema, desglose en subproblemas y solución de estos en terminos abstractos (pseudocódigo o diagramas de flujo). 2. Generación del código fuente (pueden ser más de uno para la generación de un único ejecutable). El programa fuente ( o código fuente) es una secuencia de sentencias escritas en la sintaxis del lenguaje que se ingresan utilizando un editor de textos. 3. Compilación a objeto. Este paso se lleva a cabo a través del uso de un compilador. Este se encarga de traducir el programa fuente en códigos que el computador pueda entender directamente (código de máquina, tambien llamado código objeto). En esta traducción se transforman todas sentencias en sintaxis de C a código de máquina, pero las llamadas a funciones externas o de biblioteca no quedan resueltas, por lo que todavia, el codigó objeto no puede ser ejecutado. 4. Ligar las llamadas a funciones no resueltas. Este paso se realiza a través de un ligador (linker), el que se encarga de: a partir de los códigos objeto y de las bibliotecas de rutinas (conjunto de códigos objetos de las funciones de biblioteca) generar un módulo ejecutable directamente por el computador (programa ejecutable). Dependiendo del entorno de trabajo y de las herramientas de desarrollo que se esten utilizando para la generación de programas, algunos de los pasos anteriores pueden quedar ocultos a la vista del desarrollador. Fuente: http://ib.cnea.gov.ar/~icom/CursoC_2003/pasos.htm