DLL
Una biblioteca de vínculos dinámicos (DLL) es un archivo ejecutable que actúa como una biblioteca de funciones compartida. La vinculación dinámica proporciona a los procesos una forma de llamar a una función que no forma parte del código ejecutable. El código ejecutable de la función está en un archivo DLL, que contiene una o más funciones que se compilan, vinculan y almacenan de forma independiente de los procesos que las utilizan. Los archivos DLL también facilitan el uso compartido de datos y recursos. Distintas aplicaciones pueden tener acceso simultáneamente al contenido de una única copia de un archivo DLL en la memoria.
La vinculación dinámica difiere de la vinculación estática en que se permite que un módulo ejecutable (ya sea un archivo .dll o un archivo .exe) incluya únicamente la información necesaria para buscar el código ejecutable de una función DLL en tiempo de ejecución. En la vinculación estática, el vinculador obtiene todas las funciones a las que se hace referencia desde la biblioteca de vínculos estáticos y las coloca en el código del archivo ejecutable.
El uso de la vinculación dinámica, en lugar de la vinculación estática, ofrece varias ventajas. Los archivos DLL permiten ahorrar memoria, reducir el intercambio de páginas, ahorrar espacio en disco, facilitar las actualizaciones, proporcionar asistencia post-venta, proporcionar un mecanismo para ampliar las clases de la biblioteca MFC, proporcionar compatibilidad con programas multilenguaje y facilitar la creación de versiones internacionales.
En los siguientes temas se proporciona información detallada sobre la programación de archivos DLL.
En esta sección
Tutorial: Crear y utilizar una biblioteca de vínculos dinámicos (C++)
Describe cómo crear y usar una DLL con Visual Studio.Diferencias entre aplicaciones y archivos DLL
Describe las principales diferencias entre las aplicaciones y los archivos DLL.Ventajas de utilizar archivos DLL
Describe las ventajas del vínculo dinámico.Preguntas más frecuentes sobre archivos DLL
Proporciona respuestas a las preguntas más frecuentes sobre los archivos DLL.Vincular un ejecutable a un archivo DLL
Describe el vínculo a un archivo DLL explícito e implícito.Inicializar un archivo DLL
Describe el código de inicialización que incluye el archivo DLL (de asignación de memoria, por ejemplo) que deberá ejecutarse cuando se cargue el archivo DLL.Comportamiento de la biblioteca en tiempo de ejecución
Describe cómo la biblioteca en tiempo de ejecución realiza la secuencia de inicio del archivo DLL.LoadLibrary y AfxLoadLibrary
Describe la utilización de LoadLibrary y AfxLoadLibrary para vincularse explícitamente a un archivo DLL.GetProcAddress
Explica la utilización de GetProcAddress para obtener la dirección de una función exportada en el archivo DLL.FreeLibrary y AfxFreeLibrary
Describe la utilización de FreeLibrary y AfxFreeLibrary cuando el módulo del archivo DLL ya no se necesita.Ruta de búsqueda de Windows para encontrar un archivo DLL
Describe la ruta de búsqueda que utiliza el sistema operativo Windows para encontrar un archivo DLL en el sistema.Estados de módulos de un archivo DLL estándar vinculado dinámicamente a MFC
Describe los estados de módulos de un archivo DLL vinculado dinámicamente a MFC.Archivos DLL de extensión
Muestra un archivo DLL que implementa clases reutilizables derivadas de las clases existentes de la biblioteca Microsoft Foundation Class.Crear un archivo DLL de recursos
Describe un archivo DLL sólo de recursos, que únicamente contiene recursos, como iconos, mapas de bits, cadenas y cuadros de diálogo.Recursos localizados en aplicaciones MFC: archivos DLL satélite
Proporciona compatibilidad mejorada con archivos DLL satélite, una característica que le ayuda a crear aplicaciones en múltiples idiomas.Importar y exportar
Describe símbolos públicos de importación a una aplicación o funciones de exportación de un archivo DLL.Tecnología activa y archivos DLL
Permite a los servidores de objetos implementarse completamente dentro de un archivo DLL.Automatización en un archivo DLL
Describe qué proporciona la opción Automatización en el Asistente para archivos DLL de MFC.Convenciones de nomenclatura para archivos DLL de MFC
Explica cómo los archivos DLL y las bibliotecas incluidos en MFC utilizan una convención de nomenclatura estructurada.Llamar a funciones de un archivo DLL desde aplicaciones programadas en Visual Basic
Describe cómo llamar a funciones DLL desde aplicaciones de Visual Basic.
Secciones relacionadas
Utilizar MFC como parte de un archivo DLL
Describe los archivos DLL estándar, que le permiten utilizar la biblioteca MFC como parte de la biblioteca de vínculos dinámicos de Windows.Versión de DLL de MFC
Describe la forma de utilizar las bibliotecas de vínculos dinámicos compartidas MFCxx.dll y MFCxxD.dll (donde x es el número de versión de MFC) con aplicaciones MFC y archivos DLL de extensión.Metodologías de programación de Visual C++
Proporciona vínculos a temas que proporcionan información conceptual sobre las bibliotecas de Visual C++ y temas que tratan diversas tecnologías y técnicas de codificación.