top of page

Librerías <xxx.h>

¿Que es una Librería?

Se utiliza para referirse a un conjunto de módulos objeto, (resultados de compilación) agrupados en un solo fichero que suele tener las extensiones.

Estos ficheros permiten tratar las colecciones de módulos como una sola unidad, y representan una forma muy conveniente para el manejo y desarrollo de aplicaciones grandes, además de ser un concepto muy fértil para la industria del software, ya que permiten la existencia de las librerías de los propios compiladores.


TIPOS DE LIBRERIAS

Existen dos tipos fundamentales de librerías: estáticas y dinámicas, que aunque comparten el mismo nombre genérico "librería", utilizan mecanismos distintos para proporcionar su funcionalidad al ejecutable.

Librerías estáticas

Denominadas también librerías-objeto, son colecciones de ficheros objeto (compilados) agrupados en un solo fichero de extensión etc. junto con uno o varios ficheros de cabecera (generalmente .h).

Librerías dinámicas

Otra forma de añadir funcionalidad a un ejecutable son las denominadas librerías de enlazado dinámico, generalmente conocidas como DLLs, acrónimo de su nombre en inglés ("Dynamic Linked Library"). Estas librerías se utilizan mucho en la programación para el SO Windows. Este Sistema contiene un gran número de tales librerías de terminación .DLL, aunque en realidad pueden tener cualquier otra terminación .EXE, .FON, .BPI, .DRV etc. Cualquiera que sea su terminación, de forma genérica nos referiremos a ellas como DLLs, nombre por el que son más conocidas.

Diferencias…


Las diferencias más relevantes de las librerías dinámicas respecto a las estáticas son fundamentalmente dos:

  • Las librerías estáticas quedan incluidas en el ejecutable, mientras las dinámicas son ficheros externos, con lo que el tamaño de la aplicación (nuestro ejecutable) es mayor en el primer caso que en el segundo. Esto puede ser de capital importancia en aplicaciones muy grandes, ya que el ejecutable debe ser cargado en memoria de una sola vez.


  • Las librerías dinámicas son ficheros independientes que pueden ser invocados desde cualquier ejecutable, de modo que su funcionalidad puede ser compartida por varios ejecutables. Esto significa que solo se necesita una copia de cada fichero de librería (DLL) en el Sistema. Esta característica constituye la razón principal de su utilización, y es también origen de algunos inconvenientes, principalmente en sistemas como Windows en los que existen centenares de ellas.




TABLA DE LIBRERIAS USUALES EN C y C++

Archivos de cabeceras de la biblioteca ANSI C

<assert.h> Contiene la macro assert (aserción), utilizada para detectar errores lógicos y otros tipos de fallos en la depuración de un programa.


<complex.h> Conjunto de funciones para manipular números complejos (nuevo en C99).


<ctype.h> Contiene funciones para clasificar caracteres según sus tipos o para convertir entre mayúsculas y minúsculas independientemente del conjunto de caracteres (típicamente ASCIIo alguna de sus extensiones).


<errno.h> Para analizar los códigos de error devueltos por las funciones de biblioteca.


<fenv.h> Para controlar entornos en coma flotante (nuevo en C99).


<float.h> Contiene la definición de constantes que especifican ciertas propiedades de la biblioteca de coma flotante, como la diferencia mínima entre dos números en coma flotante (_EPSOLON), el número máximo de dígitos de precisión (_DIG), o el rango de valores que se pueden representar (_MIN, _MAX).


<inttypes.h> Para operaciones de conversión con precisión entre tipos enteros (nuevo en C99).


<iso646.h> Para utilizar los conjuntos de caracteres ISO 646 (nuevo en NA1).


<limits.h> Contiene la definición de constantes que especifican ciertas propiedades de los tipos enteros, como rango de valores que se pueden representar (_MIN, _MAX).


<locale.h> Para la función setlocale() y las constantes relacionadas. Se utiliza para seleccionar el entorno local apropiado (configuración regional).


<math.h> Contiene las funciones matemáticas comunes.


<setjmp.h> Declara las macros setjmp y longjmp para proporcionar saltos de flujo de control de programa no locales.


<signal.h> Para controlar algunas situaciones excepcionales como la división por cero.


<stdarg.h> posibilita el acceso a una cantidad variable de argumentos pasados a una función.


<stdbool.h> Para el tipo booleano (nuevo en C99).


<stdint.h> Para definir varios tipos enteros (nuevo en C99).


<stddef.h> Para definir varios tipos de macros de utilidad.


<stdio.h> Proporciona el núcleo de las capacidades de entrada/salida del lenguaje C (incluye la venerable función printf).


<stdlib.h> Para realizar ciertas operaciones como conversión de tipos, generación de números pseudo-aleatorios, gestión de memoria dinámica, control de procesos, funciones de entorno, de señalización (??), de ordenación y búsqueda.


<string.h> Para manipulación de cadenas de caracteres.


<tgmath.h> Contiene funcionalidades matemáticas de tipo genérico (type-generic) (nuevo en C99).


<time.h> Para tratamiento y conversión entre formatos de fecha y hora.


<wchar.h> Para manipular flujos de datos anchos y varias clases de cadenas de caracteres anchos (2 o más bytes por carácter), necesario para soportar caracteres de diferentes idiomas (nuevo en NA1).


<wctype.h> Para clasificar caracteres anchos (nuevo en NA1).




Entradas destacadas
Vuelve pronto
Una vez que se publiquen entradas, las verás aquí.
Entradas recientes
Archivo
Buscar por tags
No hay tags aún.
Síguenos
  • Facebook Basic Square
  • Twitter Basic Square
  • Google+ Basic Square
bottom of page