in

Windows: ¿qué son exactamente los archivos DLL y cómo funcionan?

apple touch icon@2

¿Qué es una DLL?

Los archivos DLL son archivos binarios que pueden contener código ejecutable y recursos como imágenes, etc. A diferencia de las aplicaciones, estos no se pueden ejecutar directamente, pero una aplicación los cargará cuando se requieran (o todos a la vez durante el inicio).

¿Son importantes?

La mayoría de las aplicaciones cargarán los archivos DLL que necesitan al inicio. Si alguno de estos no se encuentra, el sistema no podrá iniciar el proceso en absoluto.

Los archivos DLL pueden requerir otros archivos DLL

De la misma manera que una aplicación requiere un archivo DLL, un archivo DLL puede depender de otros archivos DLL. Si no se encuentra uno de estos archivos DLL en la cadena de dependencia, la aplicación no se cargará. Esto se depura fácilmente usando cualquier herramienta de andador de dependencia, como Caminante de la dependencia.

Hay tantos en las carpetas del sistema.

La mayor parte de la funcionalidad del sistema está expuesta a un programa de usuario en forma de archivos DLL, ya que son una forma estándar de compartir código / recursos. Cada funcionalidad se mantiene por separado en diferentes archivos DLL para que solo se carguen los archivos DLL requeridos y, por lo tanto, se reduzcan las limitaciones de memoria en el sistema.

Las aplicaciones instaladas también usan archivos DLL

Los archivos DLL también se convierten en una forma de separar funcionalidades físicamente como se explicó anteriormente. Las buenas aplicaciones también intentan no cargar los archivos DLL hasta que sean absolutamente necesarios, lo que reduce los requisitos de memoria. Esto también hace que las aplicaciones se envíen con muchos archivos DLL.

DLL Hell

Sin embargo, a veces, las actualizaciones del sistema a menudo rompen otros programas cuando hay una falta de coincidencia de versiones entre los archivos DLL compartidos y el programa que los requiere. Los puntos de control del sistema y el caché de DLL, etc. han sido las iniciativas de M $ para resolver este problema. Es posible que la plataforma .NET no enfrente este problema en absoluto.

¿Cómo sabemos qué hay dentro de un archivo DLL?

Tienes que usar una herramienta externa como DUMPBIN o Dependency Walker, que no solo mostrará qué funciones visibles públicamente (conocidas como exportaciones) están contenidas dentro de los archivos DLL y también qué otros archivos DLL requiere y qué exportaciones de esos archivos DLL de los que depende este archivo DLL.

¿Cómo los creamos / usamos?

Consulte la documentación de programación de su proveedor. Para C ++, consulte LoadLibrary en MSDN.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Prueba en línea de algoritmos de estructuras de datos

eySNZCUs8i86vDZb2jMFDd 1200 80

Las mejores películas que pasan la prueba de Bechdel