Las bibliotecas son código externo, que podemos importar a nuestro archivo. Las bibliotecas estándar son aquellas que vienen con C, no tenemos que instalarlas.
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <time.h>
#include <ctype.h>Traducción
El término biblioteca viene del inglés library. La traducción librería es incorrecta, ya que viene del inglés bookstore.
Para compilar un proyecto con multiples archivos, necesitaremos definir los siguientes elementos.
Header
El compilador los incluye de forma automática al compilar su archivo fuente. Acá se definen las funciones, variables y constantes, que pueden ser accedidas por otro archivo.
Se escribe el prototipo de las funciones, y sus pre/post condiciones.
/* aritmetica.h */
#ifndef ARITMETICA_H
#define ARITMETICA_H
// POST: Devuelve la suma de los dos numeros
int sumar(int n1, int n2); // PROTOTIPO DE FUNCION
#endif /* ARITMETICA_H */Source
Tiene el mismo nombre que el header, pero con extensión .c
Acá se definen las funciones de la biblioteca
/* aritmetica.c */
#include "aritmetica.h"
int sumar(int n1, int n2){
return n1 + n2;
}Main
En este archivo se encuentra el main de la función. Desde acá se accede a las otras bibliotecas
/* main.c */
#include "aritmetica.h"
int main(){
int suma = sumar(2, 3);
printf("%i", suma) //5
return 0;
}Compilado
Al momento de compilar, debo incluir solo los archivos fuentes.
Opción 1
$ gcc -g aritmetica.c -c
# OUTPUT: aritmetica.o
$ gcc -g main.c aritmetica.o -o main
# OUTPUT: mainOpción 2:
$ gcc -g main.c aritmetica.c -o main
# OUTPUT: mainSi el procesador encuentra la directiva #include, remplaza esta línea por el contenido completo del archivo que se encuentra en el sistema.
La directiva #ifndef se encarga de que no se definan los elementos del archivo 2 veces, y si ya se definió una vez, entonces omite el archivo.