90 votos

¿Qué es un archivo dll?

Esta puede ser una muy noobie pregunta, pero en el mundo actual de desarrollo de aplicaciones web que muchos programadores no debe lidiar con dll mucho, y por lo tanto no se molestan en aprender acerca de su propósito.

Entonces, ¿qué es un archivo dll?

  1. ¿Para qué se utiliza?
  2. ¿Cómo funciona?
  3. ¿Cómo se puede crear uno?
  4. En qué situaciones es la creación de un adecuado?

Me han dicho que el archivo dll se utilizan para almacenar bibliotecas de funciones, pero más allá de eso no sé mucho. Espero que alguien de aquí me puede ilustrar así que por fin puedo dejar de preguntarme lo que todos aquellos .los archivos dll en mi directorio de Windows están haciendo.

55voto

Brian Rasmussen Puntos 68853

Una DLL es una biblioteca de enlace dinámico. Es una colección de código y/o datos, que pueden ser utilizados por varias aplicaciones (o en otras bibliotecas o módulos).

Así, por ejemplo, los métodos comunes para los archivos de proceso, el trabajo con los componentes de la GUI, etc. están disponibles en las bibliotecas, por lo que varias aplicaciones pueden utilizar la misma funcionalidad. Esto no sólo reduce la necesidad de construir las mismas cosas varias veces, pero también se asegura de que, por ejemplo, cuadros de diálogo comunes son la misma entre las aplicaciones.

Las bibliotecas pueden ser cargados en tiempo de ejecución y por lo tanto compartida entre diferentes aplicaciones simultáneas. Esto se llama la vinculación dinámica.

En algunos casos, la biblioteca puede ser incluido dentro de la propia aplicación. Esto se conoce como la vinculación estática. La vinculación estática facilita la implementación en el costo de la flexibilidad de aplicación diferentes, cada uno carga la misma copia de la DLL.

Sin embargo, la vinculación estática no es siempre una opción. E. g. usted no puede enlazar estáticamente una .NETO de la aplicación. El usuario debe tener la .RED de bibliotecas con el fin de ejecutar un .NETO de la aplicación y de las bibliotecas (o asambleas, como se les llama en .NET) se cargan en tiempo de ejecución.

Los archivos dll son creados por las mismas herramientas que utiliza para crear aplicaciones. Los detalles específicos dependen en gran medida de las herramientas que utiliza.

29voto

Paul Alexander Puntos 17611

DLL = Biblioteca de vínculos Dinámicos

El nombre es bastante descriptivo de lo que logran.

Biblioteca

Permite aislar el código para un problema específico de dominio en una única ubicación. Luego compartir esta entre varias aplicaciones. La biblioteca puede ser intercambiado por otro en cualquier momento para corregir errores o añadir funcionalidad.

Enlace

Usted puede "Enlace" de la biblioteca a una aplicación para que la lógica de la biblioteca no es compilada directamente en la aplicación.

Dinámica

La biblioteca puede ser cargado en la demanda. En lugar de cargar un mamut único archivo EXE en la memoria, el sistema operativo puede cargar sólo las porciones necesarias. Además, si un archivo DLL compartido entre aplicaciones, el sistema operativo puede optimizar la forma en que se carga la biblioteca y compartir entre aplicaciones.

10voto

judy smith Puntos 76

DLL (biblioteca de vínculos dinámicos) archivos pueden ser descritos como pequeños "sub-programas" destinados a ayudar a una mayor ejecución del programa. Ellos proporcionan la principal (ejecutable) programa en el que se basan con un medio de vincular a los diversos recursos de hardware y software que necesita en varios puntos de su tiempo de duración de las sesiones, en un "como surge la necesidad: base. Esto elimina la necesidad de cargar todo lo relacionado con el principal programa ejecutable en el equipo de la RAM (memoria de acceso aleatorio) cuando el programa se ejecute por primera vez. El software de recursos por parte de las bibliotecas de vínculos dinámicos incluir código para las diversas funciones del programa que realmente no son necesarios para mantener el programa en ejecución (es decir, funciones que sólo necesitan ser llamados en ciertos momentos durante una determinada sesión de informática, y de hecho podría no necesita ni siquiera ser llamado a todos). La carga de estas funciones (y no puede haber un número considerable de ellos para un programa dado) en la RAM del equipo, cuando el programa se ejecute por primera vez, y luego mantenerlos allí durante toda la sesión, sería un desperdicio de espacio en RAM, que es considerada como un bien escaso.

Un Gran Avance

El desarrollo de Dll fue un gran avance en la informática, porque antes estaban disponibles, todo lo relacionado con un programa (incluyendo las funciones que rara vez se utiliza) tuvo que ser cargado en la memoria RAM cuando el programa se carga por primera vez. Que llevó a extremadamente ineficiente de la informática, con velocidades más lentas expuesto por varios programas. También fue muy duro para realizar múltiples tareas en ejecución incluso un par de programas simples, debido a que el operador de la tensión en la RAM.

Consideraciones

Los archivos dll son generalmente específicos de la versión. Aquellos que funcionan bien, por ejemplo, la Versión 1 de un programa (o un lenguaje de programación, como puede ser el caso) puede no funcionar bien con la Versión 2. La regla general es que el Dll en la versión anterior tienden a ser incapaz de trabajar bien con la versión más reciente, pero los de la versión más reciente puede que por lo general funcionan bastante bien con la versión anterior del programa o lenguaje de programación.

7voto

Grant Puntos 5366

Biblioteca De Vínculos Dinámicos.

Para dar un ejemplo, Si tienes a alguien del archivo DLL cargada en la aplicación puede utilizar los bits de la programación de la misma.

Usted puede cargar una DLL que genera números aleatorios que siempre comienzan con "5" o algo así.

En que programa se puede llamar CrazyDLL.GenerateRandomNumbersSorta() y devuelve el número.

Para un ejemplo del mundo real, he DLL que combina 4 cuadros de texto (que te la utilización de estos para el tipo de direcciones IP) y automáticamente sólo acepta números de menos de 256, y se encarga de presionar la tecla de espacio para saltar a un cuadro de texto anterior.

He creado un archivo DLL con ese código, y ahora todo lo que tengo que hacer es arrastrar y soltar más de esos dirección IP textbox colecciones sin tener que duplicar todo ese código una y otra vez.

La misma DLL también tiene la función de convertir las direcciones IP para cadenas hexadecimales, y otros útiles de código.

1voto

Cody Brocious Puntos 24042

La página de la Wikipedia en archivos Dll tiene casi toda la información que desee.

Dynamic-link biblioteca (también escrito sin el guión), o DLL, se La implementación de Microsoft del concepto de biblioteca compartida en la Microsoft Windows y OS/2 sistemas operativos. Estas bibliotecas normalmente tienen la extensión de archivo DLL, OCX (para bibliotecas que contienen ActiveX los controles), o DRV (para el sistema heredado de los conductores). Los formatos de archivo para Los archivos dll son los mismos que para Windows EXE archivos, es decir, Portátil Ejecutable (PE) para 32-bit y 64-bit de Windows, y de Nuevo Ejecutable (NE) para Windows de 16 bits. Como archivos Exe, Dll pueden contener código, datos y los recursos, en cualquier combinación. En el sentido más amplio del término, cualquier archivo de datos con el mismo formato de archivo que se llama un archivo DLL de recursos.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X