Una DLL es una biblioteca de enlaces dinámicos. Es una colección de código y/o datos, que pueden ser utilizados por varias aplicaciones (u otras bibliotecas/módulos).
Por ejemplo, los métodos comunes para procesar archivos, trabajar con componentes de la GUI, etc. están disponibles en las bibliotecas, por lo que varias aplicaciones pueden usar la misma funcionalidad. Esto no solo reduce la necesidad de construir el mismo material varias veces, sino que también asegura que, p. los diálogos comunes son los mismos entre las aplicaciones.
Las bibliotecas se pueden cargar en tiempo de ejecución y, por lo tanto, se pueden compartir entre diferentes aplicaciones simultáneas. Esto se llama enlace dinámico.
En algunos casos, la biblioteca se puede incluir dentro de la aplicación. Esto se conoce como enlace estático. Los enlaces estáticos facilitan la implementación a costa de la flexibilidad, ya que cada aplicación cargará la misma copia de la DLL.
Sin embargo, la vinculación estática no siempre es una opción. P.ej. no puede vincular estáticamente una aplicación .NET. El usuario debe tener las bibliotecas .NET para ejecutar una aplicación .NET y las bibliotecas (o los ensamblados como se llaman en .NET) se cargan en el tiempo de ejecución.
Las DLL se crean con las mismas herramientas que se utilizan para crear aplicaciones. Los detalles específicos dependen en gran medida de las herramientas utilizadas.
wiki de la comunidad se debe utilizar para los casos en que no hay respuestas reales a su pregunta. Esta es una pregunta válida y al seleccionar el modo wiki de la comunidad, evitas que tú y los contestadores obtengan reputación en esta pregunta. –
esta pregunta tiene el potencial de convertirse en una muy popular –
¿Crees? Quizás para vistas pero no para votos ... De todos modos ya ha sido respondida 4 veces. –