lunes, 27 de octubre de 2014

¿Qué es una biblioteca de enlace dinámico, más conocidas como DLL?



Son archivos con código ejecutable, estos se cargan cuando un programa los requiere desde el sistema operativo. Esto es exclusivo de Windows, la extensión con la que se identifican es  “.dll “ Este concepto existe en prácticamente todos los sistemas operativos.

Estas son una evolución de las bibliotecas estáticas y tienen algunas ventajas:

Pueden estar compartidas  entre varias aplicaciones, pueden resultar útiles para múltiples aplicaciones si su contenido (código) es suficientemente  genérico.

Disminuyen el tamaño de los archivos ejecutables, porque la mayor parte del código puede estar en estas bibliotecas y no en el ejecutable.

Dan mayor flexibilidad frente a cambios,   pueden mejorar el rendimiento o dar solución a pequeños errores modificando la versión de la biblioteca dinámica.

Hacen más expedito el aprovechamiento de la memoria del sistema y facilitan la gestión,  estas cargas dinámicas permiten mejorar el rendimiento del sistema operativo. Además  como están compartidas se puede tener solo una copia en la memoria para todos los programas que la ocupan.

Eso sí, también hay desventajas. Como mensioné antes, en Windows las DLL son muy comunes y muchos programas usan las mismas bibliotecas de enlace dinámico. Cada una de las bibliotecas incorporan mejoras pero modificándolas de tal forma que dejan de ser compatibles. Esto puede tener consecuencias no deseadas:

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.

Las versiones modernas de Windows y los nuevos scripts de instalación resuelven este problema. Sin embargo, el inconveniente persiste cuando se utilizan otros instaladores (versiones antiguas) o se realizan modificaciones manuales. 

Si necesitas editar algún archivo DLL ya sea porque requieres modificar su contenido, o solo por curiosidad, es muy importante entender que estos archivos no se abren con un editor de texto, cometer un error puede traer concecuencias graves, como dejar de funcionar un programa o varios, incluso podrías tener problemas con el sistema operativo.

Para editarlo, se requiere un software que lo desensamble, (descompile) el cual lo separa en varias partes, para que vuelva funcionar la DLL se requiere ensamblarlo (recompilarlo).

Espero sea de utilidad para ustedes y puedan compartir esta publicación.
Además quedan invitados a seguir este blog.

Alejandro Rivas Arqueros
Área de soporte DI.


1 comentario: