Inicio > Curiosidades, Programas > ¿Qué es una DLL?

¿Qué es una DLL?

DLL es la sigla de Dynamic Linking Library (Bibliotecas de Enlace Dinámico), término con el que se refiere a los archivos con código ejecutable que se cargan bajo demanda del programa por parte del sistema operativo. Esta denominación se refiere a los sistemas operativos Windows siendo la extensión con la que se identifican los ficheros, aunque el concepto existe en prácticamente todos los sistemas operativos modernos.

Ventajas:

Las DLLs son o pueden verse como la evolución de las bibliotecas estáticas 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.

Problemas:

Sin embargo, no todo son ventajas. En los sistemas Windows, las DLLs son muy comunes y muchos programas usan las mismas DLLs. Pero debido a la evolución, cada una de las DLLs evoluciona incorporándose mejoras pero modificándolas de tal forma que dejan de ser compatibles. Esto puede producir dos efectos no deseados:

  • Que la instalación de un programa reemplace una DLL con una nueva versión incompatible.
  • Que la desinstalación del programa borre una DLL compartida

En ambos casos, el resultado es que dejan de funcionar los programas que utilizaban la vieja versión. Estos problemas se denominaron el infierno de las DLLs.

Las versiones modernas de Windows y los nuevos scripts de instalación MSI (sobre todo su característica de instalaciones residentes) abordan este problema. Sin embargo, el problema persiste cuando se utilizan otros instaladores (versiones antiguas) o se realizan modificaciones manuales.

Enlaces:

DLL (Dynamic Linking Library)

Categorías:Curiosidades, Programas Etiquetas: ,
  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: