Independientemente de lo anterior comentado, una biblioteca
es un Kit de herramientas software pequeño y autónomo que ofrece una
funcionalidad muy específica al usuario. Normalmente se usa junto con otras
librerías y herramientas para hacer una aplicación completa, ya que por lo
general las bibliotecas no son ejecutables, pero sí pueden ser usadas por
ejecutables que las necesiten para poder funcionar.
Imaginemos que estamos haciendo programas de ordenador, nos
damos cuenta que algunas partes del código se utilizan en muchos de ellos. Por
ejemplo, podemos tener varios programas que utilizan números complejos y las
funciones de suma, resta, etc son comunes. También es posible, por ejemplo, que
nos guste hacer juegos, y nos damos cuenta que estamos repitiendo una y otra
vez el código para mover una imagen por la pantalla. Sería estupendo poder
meter esas funciones en un directorio separado de los programas concretos y
tenerlas ya compiladas, de forma que podamos usarlas siempre que queramos.
Las ventajas enormes de esto son:
·
No tener que volver a escribir el código (o
hacer copy-paste).
·
Nos ahorraremos el tiempo de compilar cada vez
ese código que ya está compilado. Además, ya sabemos que mientras hacemos un
programa, probamos y corregimos, hay que compilar entre muchas y "más
muchas" veces.
·
El código ya compilado estará probado y será
fiable. No las primeras veces, pero sí cuando ya lo hayamos usado en 200
programas distintos y le hayamos ido corrigiendo los errores.
La forma de hacer esto es hacer librerías. Ya que hemos
quedado que una librería son una o más funciones que tenemos ya compiladas y
preparadas para ser utilizadas en cualquier programa que hagamos.
Existen dos tipos de librerías:
·
Librerías
estáticas à
Es una librería que "se copia" en nuestro programa cuando lo
compilamos. Una vez que tenemos el ejecutable de nuestro programa, la librería
no sirve para nada (es un decir, sirve para otros futuros proyectos). Podríamos
borrarla y nuestro programa seguiría funcionando, ya que tiene copia de todo lo
que necesita. Sólo se copia aquella parte de la librería que se necesite. Por
ejemplo, si la librería tiene dos funciones y nuestro programa sólo llama a
una, sólo se copia esa función.
·
Librerías
dinámica à
NO se copia en nuestro programa al compilarlo. Cuando tengamos nuestro
ejecutable y lo estemos ejecutando, cada vez que el código necesite algo de la
librería, irá a buscarlo a ésta. Si borramos la librería, nuestro programa dará
un error de que no la encuentra. Windows está construido sobre una gran cantidad
deDLL's, y es que Windows guarda sus librerías de enlace dinámico en archivos
que tienen extensión DLL.
Toda librería
ofrecerá un Interfaz de programación de aplicaciones (API) que es el conjunto de métodos que ofrece cierta biblioteca
para ser utilizado por otro software como una capa de abstracción
Ejemplo: En .Net System.IO.File es una librería que en su
API tiene el método GetFileContents()
excelente tu definición analítica, me aclaraste todas las dudas y otras que sabia..Gracias!!!
ResponderEliminarDisculpa, pero te agradeceria enormemente si puedieras darme las diferencias entre las Librerias o Bibliotecas y los archivos de cabecera porque los encuentro relativamente parecidos.
ResponderEliminarGracias!
ResponderEliminarGracias, esta muy claro....
ResponderEliminarGracias, muy buena y clara información
ResponderEliminarIntroduce tu comentario
ResponderEliminarMuy aclaratorio y fija la diferencia, gracias..
ResponderEliminarExcelente, muchas gracias!
ResponderEliminarhttps://exe.io/haisosoeohekrp010
ResponderEliminar