El Contrato
Enviado por cuko48 • 20 de Septiembre de 2012 • 598 Palabras (3 Páginas) • 373 Visitas
Biblioteca de enlace dinámico o más comúnmente DLL (sigla en inglés de dynamic-link library)
Es un archivo que contiene funciones que se pueden llamar desde aplicaciones u otras Dll. Los desarrolladores utilizan las Dll para poder reciclar el código y aislar las diferentes tareas. Las Dll no pueden ejecutarse directamente, es necesario llamarlas desde un código externo.
Las Dll suelen confundir a los usuarios novatos (a la hora de recibir el típico error de algún programa en el "módulo xxxxx.DLL" y también pueden ser la pesadilla del programador
Ventajas
Las DLL son o se pueden ver como la evolución de las bibliotecas estáticas (en diversos sistemas) y de forma análoga contienen funcionalidad o recursos que utilizan otras aplicaciones. Sin embargo, su uso proporciona algunas ventajas:
Reducen el tamaño de los archivos ejecutables: Gran parte del código puede estar almacenado en bibliotecas y no en el propio ejecutable lo que redunda en una mejor modularización.
Pueden estar compartidas entre varias aplicaciones: Si el código es suficientemente genérico, puede resultar de utilidad para múltiples aplicaciones (por ejemplo, la MFC es una biblioteca dinámica con clases genéricas que recubren la API gráfica de Windows y que usan gran parte de las aplicaciones).
Facilitan la gestión y aprovechamiento de la memoria del sistema: La carga dinámica permite al sistema operativo aplicar algoritmos que mejoren el rendimiento del sistema cuando se carguen estas bibliotecas. Además, al estar compartidas, basta con mantener una copia en memoria para todos los programas que la utilicen.
Brindan mayor flexibilidad frente a cambios: Es posible mejorar el rendimiento o solucionar pequeños errores distribuyendo únicamente una nueva versión de la biblioteca dinámica. Nuevamente, está corrección o mejora será aprovechada por todas las aplicaciones que compartan la biblioteca.
Infierno dll
El término DLL Hell (infierno de las DLL) se refiere a los problemas ocasionados por los archivos *.dll (Dynamic Link Library, Biblioteca de Enlace Dinámico) en los sistemas operativos de Microsoft, que si no se controla puede llevar al sistema irremisiblemente a la pantalla azul de la muerte.
Estas bibliotecas consisten en un conjunto de código común que puede estar compartido entre varias aplicaciones. En Windows estas bibliotecas están muy extendidas y son compartidas por múltiples aplicaciones (por ejemplo, las MFC están compartidas por prácticamente todas las aplicaciones gráficas). De esta compartición de código surgen dos problemas que constituyen el "infierno":
Al instalar un programa se remplaza una DLL por otra versión incompatible (conflicto de versiones).
Al desinstalar un programa se borra una DLL compartida.
En
...