Hola electroipod, no se si voy a poder ayudarte, pero voy a tratar de explicarte algunos conceptos. Lo que basicamente hace un compilador "C" es traducir lineas de C también llamadas "C-Statements" a código assembler del micro en cuestión, esta traducción produce un código objeto. Por convención los archivos que tienen "statements" se indican con extensión ".c" y los archivos de encabezado se indican con ".h", estos últimos contienen información valiosa para el compilador como ser constantes, enumerados, estructuras, declaración de funciones, etc. Una librería es simplemente una colección de archivos ya compilados pero empaquetados en un gran archivo, normalmente las librerias tienen extensión ".a" o ".lib". Cada libería debería estar acompañadad de uno o más archivos ".h" que detallan las funcionalidad de la misma, pero el código reside en la librería.
Todo compilador debería contener una librería estandar para dar funcionalidad básica del lenguaje, ejemplo de esto son las funciones de string ( strlen, strcpy ), conversiones ( atoi, itoa, etc ), esta libería es conmumente llamada RTL ( Real time library ), la cantidad de librerias basicas dependen de la arquitectura, ejemplos no es lo mismo desarrollar para micros de 8 bits que para una PC.
Saludos !