¿Qué son los archivos DLL y cómo funcionan?

¿Qué son los archivos DLL y cómo funcionan?

dll-teaserLa mayoría de las veces solo encontramos archivos DLL cuando un software determinado no puede funcionar debido a la falta de algún archivo .dll. Después de este mensaje, nos conectamos en línea para obtener ese archivo DLL, lo colocamos en la carpeta adecuada y ejecutamos el software. Y eso es todo: caso cerrado sobre archivos DLL.

Sin embargo, debería ser interesante comprender más acerca de estos archivos en particular. Parecen importantes, ya que su ausencia puede impedir que los programas se ejecuten, entonces, ¿qué son? ¿Y cómo funcionan? Obtengamos algunas respuestas.

¿Archivos DLL?

dll-dlls1

Casi todo el mundo, en algún momento, se ha ocupado de archivos DLL, a menudo cuando un software recién instalado no funciona porque falta uno de esos archivos.

DLL significa «Biblioteca de enlace dinámico» y es la implementación de Microsoft del concepto de biblioteca compartida en los sistemas operativos Microsoft Windows y OS/2. Son esencialmente lo mismo que los EXE, pero se nombran de manera diferente para mayor claridad en el proceso de vinculación. Sin embargo, los archivos DLL no se pueden ejecutar directamente, de ahí la existencia de herramientas como rundll.exe y rundll32.exe.

Los archivos DLL no son más que un medio para que los desarrolladores utilicen código y datos compartidos, lo que permite actualizar las funcionalidades sin necesidad de volver a vincular o compilar aplicaciones. En otras palabras, los archivos DLL contienen código y datos que utilizan varias aplicaciones diferentes. Un solo archivo DLL puede ser utilizado por diferentes aplicaciones, si lo requieren, eliminando la necesidad de múltiples copias de la misma información.

¿Cómo funcionan los archivos DLL?

dll-internet

Imagine dos archivos distintos: «example.exe», un archivo ejecutable común, y «library.dll», una DLL que utiliza ese ejecutable. ¿Cómo están conectados esos archivos por el sistema operativo cuando se ejecuta «example.exe»?

Cuando se ejecuta «example.exe», el sistema operativo lo carga y encuentra una tabla de datos dentro de él, indicando que (obviamente no en palabras) «este programa usa la siguiente lista de funciones del archivo DLL library.dll», que es técnicamente llamado «importaciones» o «funciones importadas» de la DLL «library.dll» en el programa «example.exe».

Luego, el código del cargador busca «library.dll» y, si lo encuentra, se carga el archivo. Dentro de este archivo DLL, hay otra lista, llamada «lista de exportación», que conecta direcciones específicas a cada una de las funciones dentro del archivo DLL. A partir de este momento, cuando “example.exe” necesita llamar a una función desde “library.dll”, simplemente usa esa dirección.

Cómo obtener y almacenar archivos DLL

dll-búsqueda

Cuando un software determinado carece de un archivo DLL, el enfoque habitual es buscar ese archivo en línea y almacenarlo en nuestro disco duro. Funcionará si coloca la DLL dentro de la carpeta del software, pero como expliqué anteriormente, es posible que varios programas necesiten ese archivo, por lo que es mejor almacenarlo donde todos puedan acceder a él, y esa es la carpeta «System32» (C :\Windows\Sistema32). Los usuarios de x64 también deben copiar el archivo DLL en «C:\Windows\SysWOW64» (ambas operaciones necesitan privilegios de administrador para llevarse a cabo).

Sin embargo, este método no es recomendado por todos, ya que puede traer algunos riesgos como archivos DLL obsoletos, infecciones de virus, etc. Por mi experiencia personal, nunca tuve problemas con los archivos DLL (generalmente los obtengo de este sitiopero asegúrese de elegir la opción «Descargar archivo zip» para evitar el software de terceros), por lo que al final todo se reduce a gustos personales.

¿Conocías esta información sobre los archivos DLL? ¿Hay algo importante que falta en este artículo? Háganos saber en los comentarios.

Experto Geek - Tu Guía en Tendencias Tecnológicas