Sie sind auf Seite 1von 7

“DLL”

PRESENTADO POR:
MANUEL ADOLFO SANTIAGO MARTÍNEZ
JESÚS ALBERTO VÁSQUEZ RUIZ
NO. DE CONTROL:
16TE0448
16TE0454

LICENCIATURA EN:
INGENIERÍA EN SISTEMAS COMPUTACIONALES

DOCENTE:

MARCO ANTONIO AGUILAR CORTES

1
Contenido
DLL ..................................................................................................................................................... 3
¿Qué es? ....................................................................................................................................... 3
¿Cómo se genera?....................................................................................................................... 3
¿Para qué se utiliza? ................................................................................................................... 4
Características ................................................................................................................... 5
Ventajas............................................................................................................................. 6
Desventajas ....................................................................................................................... 6
Conclusión ......................................................................................................................... 7
Referencias ....................................................................................................................................... 7

2
DLL

¿Qué es?
Una biblioteca de enlace dinámico o más comúnmente DLL (sigla en inglés de dynamic-
link library) es el término con el que se refiere a los archivos con código ejecutable que se
cargan bajo demanda de un programa por parte del sistema operativo. Esta denominación
es exclusiva a los sistemas operativos Windows siendo “.dll” la extensión con la que se
identifican estos ficheros, aunque el concepto existe en prácticamente todos los sistemas
operativos modernos. (Boehm, 2015)

Las DLL tuvieron su origen cuando se quiso compartir código común entre diferentes
aplicaciones para así ahorrar algo de espacio en disco. Esto requirió que Windows
implementara ciertos modelos de memoria bastante complicados para la época.

¿Cómo se genera?

Para crear un dll en visual studio seguimos los siguientes pasos:

1- Creamos en visual studio un proyecto del tipo dll (class library)

2- Una vez tenemos creado nuestro proyecto, (como si fuera una Windows Form
Application), procederemos a añadir un Formulario.

3- En el Formulario que hemos insertado, lo que haremos será añadir un Botón que
simplemente muestre un mensaje con el ya clásico “Hola Mundo”.

4- Por último, grabaremos todos los ficheros del proyecto y guardamos.

5- Por otro lado, lo que haremos será crear un nuevo proyecto desde 0, que nos servirá
para utilizar nuestra Dll. Este proyecto será realmente simple, ya que únicamente tendrá
un botón que, al pulsarlo, llamará al formulario creado en nuestra Dll.

6- Una vez creado este proyecto, sólo tenemos que añadir la Dll como una referencia.
Para ello podemos hacerlo desde la ventana de Explorador de la Solución, o bien desde
el menú superior en la opción Proyecto (project) y añadir una referencia. Para buscar
nuestra Dll, iremos a través de la pestaña Browse, y buscaremos en la carpeta Bin que se
ha creado al construir el proyecto.

3
7- Finalmente, en el formulario principal de nuestra aplicación, añadiremos un botón que
será el que llame a la Dll. Al hacer clic sobre este botón, llamará al formulario de nuestra
Dll.

Remarcar el “using miDll” dentro de los espacios de nombre, y luego hay que instanciar el
formulario “miformulario” de la Dll.

8- Ejecutar la aplicación.

¿Para qué se utiliza?


Los archivos DLL ejecutan acciones o rutinas de uso frecuente en Windows, y un mismo
archivo DLL puede ser usado por varios programas al mismo tiempo (como el
Kernel32.dll). Por ejemplo, el procesador de palabras, la hoja de cálculo y otros
programas pueden usar un mismo archivo DLL para desplegar el cuadro diálogo Abrir,
cada vez que se usa el comando Abrir. (REMON, 2015)

Gracias a ese esquema modular (que también se usa en el sistema operativo OS/2), hay
muchas funciones que los creadores de software no tienen que incluir en sus programas;
cuando un programa necesita enviar un documento a la impresora, simplemente llama el
archivo DLL respectivo (que ya Windows instaló) para que este cargue y ejecute la tarea.
De esa forma, los programas son más pequeños y se ahorra espacio en el disco duro.

El hecho de que estos módulos de rutinas (Archivos DLL) no sean parte de programas,
sino que se guardan como archivos independientes, también optimiza el uso de la
memoria RAM. Un DLL se carga en la memoria RAM y se ejecuta únicamente cuando un
programa lo llama para que realice una función, mientras que otros módulos de rutinas
que sí hacen parte del programa permanecen cargados en la memoria mientras trabaja
con un programa.

4
Características
Una DLL se puede dar muchos usos

· Soporte de alguna funcionalidad suministrada por un tercero. Si bien también nos podría
dar una biblioteca estática para enlazar con nuestra aplicación, el disponer de una DLL
significa que ésta también podrá ser usada en otros lenguajes. (Microsoft, 2017)

· Soporte de temas. Ponemos todos los recursos de una aplicación en una DLL y el hecho
de cambiar de tema supone usar otra DLL con los mismos nombres y tipos de recursos,
pero diferentes en aspecto.

· Soporte de idiomas. Ponemos todas las cadenas de nuestra aplicación en una DLL y la
cargamos en consonancia al idioma seleccionado. Aquí tenemos la desventaja de tener
que cargar a mano con LoadString() todas las cadenas antes de usarlas. Por ejemplo,
MFC ayuda en cierta manera a disponer de este sistema de internacionalización, y otras
herramientas como C++Builder o el propio .NET las implementan de forma automática,
generando y cargando la DLL adecuada en cada caso sin nuestra intervención.

· Ofrecer servicios actualizables. Esta es una gran ventaja, que utiliza el propio Windows y
Visual C++ para insertar actualizaciones. Si ponemos cierta funcionalidad en una DLL,
cuando queramos actualizarla sólo tendremos que cambiar dicha DLL por otra nueva que
conserve el mismo interfaz público. Es lo que hace Microsoft con el runtime de Visual C++
cuando se produce alguna actualización de seguridad o corrección de bugs: en Windows
Update nos aparece la correspondiente actualización, que sustituirá (más bien añadirá) la
nueva versión al repositorio SXS.

· Modificar el comportamiento del sistema añadiendo ganchos (hooks) a Windows. Un


ejemplo a esto es insertar una DLL para que actúe de filtro de teclado, dando
funcionalidad a las teclas multimedia de nuestro teclado, y una variante es insertar una
DLL en otro proceso para tomar el control (o permitir más funcionalidad).

· Compartir código entre aplicaciones. Aunque a fecha de hoy el ahorro de disco puede
ser insignificante, disponer de DLLs con funcionalidad común puede suponer solucionar
un bug o realizar algún tipo de mejora de forma simultánea en todas las aplicaciones
instaladas que usen dicha DLL. Y por supuesto también está su contrapartida: estropear
algo en todas. (Putier, 2017)

5
Ventajas

 Al ser utilizadas por varios programas a la vez, el rendimiento del equipo es mejor,
todo lo contrario, a que cada programa tenga las suyas propias con las mismas
funciones, ya que duplicarían la carga de procesos y el uso de memoria
inútilmente.
 Ahorra memoria y reduce el intercambio de páginas. Muchos procesos pueden
utilizar simultáneamente un mismo archivo DLL, compartiendo una sola copia del
mismo en la memoria.
 Ahorra espacio en disco. Varias aplicaciones pueden compartir una única copia del
archivo DLL en disco. En cambio, las aplicaciones compiladas con una biblioteca
de vínculos estáticos tienen el código de biblioteca vinculado en la imagen del
ejecutable como una copia independiente.
 Es mucho más ordenado que una aplicación sola; es decir, “cada librería a lo
suyo”.
 El código es extensible, se puede implementar código para extender las clases ya
existentes.
 El código es extensible, se puede implementar código para extender las clases ya
existentes, incluso usar el famoso “override”.

Desventajas
 No se conoce exactamente el funcionamiento interno. (pero a veces esto no
importa mucho)
 El uso excesivo de librerías puede ocasionar un aglomera miento de archivos.
 No es posible modificar el código, pero sí extenderlo.

6
Conclusión

En conclusión, el uso de archivos DLL ayuda a reducir líneas de código, la reutilización de


código, uso eficaz de la memoria y espacio en disco reducido. Por lo tanto, el sistema
operativo y los programas se cargan más rápido, se ejecutan más rápidamente y ocupan
menos espacio en el disco del equipo.

El utilizar archivos DLL puede provocar ciertos problemas si no se tiene cuidado, por
ejemplo: cuando un programa utiliza un archivo DLL, un problema que se denomina
dependencia puede provocar que el programa no se ejecute. Cuando un programa utiliza
un archivo DLL, se crea una dependencia. Si otro programa sobrescribe y rompe esta
dependencia, entonces no es posible ejecutar correctamente el programa original.
Algunos de los problemas de los archivos DLL pueden ser causados por dos motivos:

Al instalar un programa se reemplaza una DLL por otra versión incompatible (conflicto de
versiones).

Al desinstalar un programa se borra una DLL compartida.

Referencias
Boehm, A. (2015). Murach's C# 2015: Training & Reference. California: Mike Murach & Associates
Inc.

Microsoft. (26 de 04 de 2017). www.microsoft.com. Obtenido de www.microsoft.com:


https://support.microsoft.com/es-mx/help/815065/what-is-a-dll

Putier, S. (2017). C# 7 y Visual Studio 2017. CDMX: ENI.

REMON, M. A. (2015). DESARROLLO DE APLICACIONES CON VISUAL C# 2015. Lima: Macro.

Das könnte Ihnen auch gefallen