¿Qué significa biblioteca de enlace dinámico?
Una biblioteca de enlace dinámico (DLL) es un módulo de programa compartido con código ordenado, métodos, funciones, enums y estructuras que pueden ser llamados dinámicamente por un programa en ejecución durante el tiempo de ejecución.
Una DLL suele tener una extensión de archivo que termina en .dll. Otras extensiones de archivo son .drv y .ocx. Las DLL fueron desarrolladas por Microsoft y sólo funcionan con el sistema operativo (SO) Windows.
Definición de biblioteca de enlace dinámico
Los tipos de funciones definidas por DLL son los siguientes:
- Exportadas: Pueden ser llamadas por otro módulo, así como desde sus DLL definidas
- Internas: Sólo pueden invocarse desde sus DLL definidas.
Las DLL ayudan a conservar la memoria del sistema. No se cargan en la RAM hasta que se necesitan, por lo que ayudan a reducir la sobrecarga de memoria. Las aplicaciones que necesitan datos de DLL los reciben cuando los necesitan, lo que también ayuda a gestionar la memoria.
Los enlaces a los archivos DLL necesarios suelen crearse durante la programación. Si los enlaces son estáticos, los archivos DLL están disponibles y se utilizan mientras se ejecuta el programa. Si los enlaces son dinámicos, los archivos DLL se utilizan sólo cuando se necesitan.
Otra ventaja de los archivos DLL es que pueden ser utilizados por varios programas simultáneamente. Además no suelen abrirse directamente porque se cargan automáticamente con el programa. Los archivos DLL también utilizan los recursos del sistema de forma eficiente y reducen el intercambio.
Cuando cambian las funciones de la DLL, no es necesario recompilar o volver a enlazar la aplicación que utiliza la DLL, siempre que las convenciones de llamada, los argumentos de función y los valores de retorno sigan siendo los mismos.