Ejemplo de sencillo de compilación en C bajo GNU/Linux

Este sencillo ejemplo muestra como construir un programa que consta de un módulo principal (main) que utiliza funciones de otro módulo (frases). Si nos fijamos en el módulo main.c este incluye llamadas a las funciones saludo  y despedida cuya implementación se encuentra en el fuente frases.c.

Programa principal

#include <stdio.h>
#include "frases.h"

int main()
{
    printf("%s\n", saludo());
    printf("%s\n", despedida());
    return 0;
}

Este módulo se compone, además, de un segundo archivo frases.h donde se definen los prototipos de las funciones anteriores. El programa principal indica que emplea las funciones del módulo frase mediante la directiva #include "frases.h".

Para construir el programa principal, primeramente hay que compilar por separado cada módulo (opción -c del compilador). El resultado será un archivo objeto (.o) que incluye código máquina no ejecutable. A continuación se enlazan los distintos código objetos para obtener el ejecutable. En el siguiente ejemplo se muestra la compilación, enlazado y ejecucción del ejemplo que hemos visto.

$ gcc -c -Wall frases.c
$ gcc -c -Wall main.c
$ gcc -Wall main.o frases.o -o holamundo
$ ./holamundo
Hola
Adios