Anda di halaman 1dari 3

Libreras

Las libreras son trozos de cdigo que contienen alguna funcionalidad preconstruida que puede ser utilizada por un ejecutable. Por lo general en las
libreras de C++ las variables y funciones que existen dentro de las libreras se
encuentran encapsuladas en forma de clases.
El trmino librera se utiliza para referirse a un conjunto de mdulos objeto .obj /
.o agrupados en un solo fichero que suele tener las extensiones .lib, .bpl, .a,
.dll, etc. Los ficheros permiten tratar las colecciones de mdulos como una sla
unidad y representan una forma muy conveniente para el manejo y desarrollo
de aplicaciones grandes.

Tipos
En C++ existen dos tipos de libreras fundamentales. Las libreras Estticas y
las libreras Dinmicas. Comparten el mismo nombre genrico de libreras pero
utilizan mecanismos distintos para proporcionar su funcionalidad al ejecutable.
As mismo como costumbre junto a los ficheros de las libreras se incluye el
fichero .h denominado Header porque es tradicin utilizar las primeras lneas
del programa para poner las directivas #include que los incluirn en el fuente
durante la fase de preproceso.
Este fichero contiene las declaraciones de las entidades contenidas en la
librera, as como las macros y constantes predefinidas utilizadas en ella, de
forma que el programador slo tiene que incluir el correspondiente fichero .h en
su aplicacin para poder utilizar los recursos de la librera en cuestin.

Libreras Estticas
Denominadas tambin libreras-objeto, son colecciones de ficheros objeto
compilados y agrupados en un solo fichero de extensin .lib, .a, etc. Junto con
uno o varios ficheros Header.
Durante la construccin de la aplicacin, el preprocesador incluye en las
fuentes los ficheros header. Posteriormente durante la fase de enlazado, el
linker incluye en el ejecutable los mdulos correspondientes a las funciones y
clases de librera que hayan sido utilizadas en el programa, de forma que el
conjunto entra a formar parte del ejecutable. Y por eso se denominan como
Libreras Enlazadas Estticamente.

Diccionario
Junto a los mdulos .obj que las componen, las libreras estticas incluyen una
especie de ndice o diccionario con informacin sobre su contenido. Este ndice
contiene los nombres de los recursos pblicos de los distintos mdulos y su
direccin. Estos nombres deben ser distintos para evitar ambigedades durante
el enlazado, y sirven para incrementar la velocidad de enlazado cuando el
Linker debe incluir alguno en el ejecutable.

Libreras Dinmicas
Otra forma de aadir funcionalidad a un ejecutable son las denominadas
Libreras de Enlazado Dinmico. Generalmente conocidas como DLL
(Dynamic Linked Library). Estas libreras se utilizan mucho en la programacin
para el SO Windows. Este sistema contiene un gran nmero de tales libreras
de terminacin .dll, aunque en realidad pueden tener cualquier otra terminacin
como .exe, .fon, .bpi, .drv, etc.

Diferencias Fundamentales Entre Libreras Estticas y


Dinmicas.

Las libreras estticas quedan incluidas en el ejecutable, mientras las dinmicas


son ficheros externos, con lo que el tamao de la aplicacin (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 libreras dinmicas 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 librera (DLL) en el Sistema. Esta caracterstica constituye la
razn principal de su utilizacin, y es tambin origen de algunos inconvenientes,
principalmente en sistemas como Windows en los que existen centenares de
ellas.