You are on page 1of 13

Ing.

Sistemas Computacionales

Administración de Redes
Ríos Toledo German

DLL
Reporte de Practica

Noe Alejandro Sanchez Méndez


N° de Control = 19271176

Jennifer Cruz Cruz


N° de Control = 19271166

S7B

2022
Contenido
¿Qué es un archivo DLL?......................................................................................................... 2
¿Para qué sirven los archivos DLL? ......................................................................................... 2
Resumen ................................................................................................................................. 2
Proceso para compilar una DLL en C# .................................................................................... 3
Código de burbuja ........................................................................................................................... 3
Código Insercion .............................................................................................................................. 7
Código Shell ................................................................................................................................... 10
Explicación ............................................................................................................................ 12
Enlace del video de funcionamiento de una dll ................................................................... 12
¿Qué es un archivo DLL?
Los archivos DLL, siglas por su nombre en inglés Dynamic Link Library, conocidos
en español como Bibliotecas de Enlaces Dinámicos, consisten en una serie de
archivos que constan de código ejecutable y demás partes de una app, los cuales
hacen posible la utilización de las aplicaciones que tenemos instaladas en la PC.

Cuando ordenemos a nuestro equipo a ejecutar un programa, sin que nosotros lo


notemos, el sistema operativo carga automáticamente la librería DLL
correspondientes para que la aplicación o función incluida de la app se ejecute.

Si bien en general, los archivos DLL están relacionados con el sistema


operativo Microsoft Windows, lo cierto es que todos los sistemas operativos
utilizan este tipo de bibliotecas para la ejecución de las aplicaciones.

¿Para qué sirven los archivos DLL?


En principio, una de las más importantes ventajas que nos ofrecen los archivos
DLL o librerías de enlace dinámico, es que gracias a su implementación se ha
logrado reducir notablemente el tamaño de los archivos ejecutables de las
aplicaciones, ya que una gran porción de los códigos ejecutables de los
programas pueden ser almacenados en estos archivos DLL, como por ejemplo
gráficos, audio, texto, tipografía y todos los demás elementos que utiliza la app, por
lo que se obtiene una mayor organización de los procesos, que brinda como
resultado un mejor rendimiento de la app, y por lo tanto del rendimiento general de
la computadora.

Resumen
Para los sistemas operativos Windows, DLL proporciona gran parte de la
funcionalidad del sistema operativo. Además, al ejecutar un programa en uno de
estos sistemas operativos Windows, gran parte de la funcionalidad del programa
pueden proporcionarla DLL. Por ejemplo, algunos programas pueden contener
muchos módulos diferentes y cada módulo del programa está contenido y distribuido
en DLL.

El uso de DLL ayuda a promover la modularización del código y su reutilización, el


uso eficaz de la memoria y la reducción del espacio en disco. Por lo tanto, el sistema
operativo y los programas se cargan más rápido, se ejecutan a mayor velocidad y
ocupan menos espacio en disco del equipo.

Cuando un programa usa una DLL, un problema denominado dependencia puede


hacer que el programa no se ejecute. Cuando un programa usa una DLL, se crea
una dependencia. Si otro programa sobrescribe e interrumpe esta dependencia, es
posible que el programa original no se ejecute correctamente.
Proceso para compilar una DLL en C#
Para crear una dll instalamos el IDE Microsoft Visual Studio. Descargamos los paquetes y al estar
instalado lo abrimos por primera vez.

• Crear un proyecto
• Elegimos la plantilla aplicación de Consola
• Asignamos el nombre del proyecto
• Creará el proyecto para poder escribir códigos.

Burbuja
Ubicación:
C:\Users\ingno\OneDrive\Escritorio\S7B\REDES\dll\Burbuja\Burbuja\bin\Debug\net6.0

Como compilar
Se muestra mas adelante en la pag #6

Escribimos el código que hace la función de la burbuja. DLL.


public void MetodoBurbuja()
{
int f;
for (int a = 1; a < vector.Length; a++)
for (int b = vector.Length - 1; b >= a; b--)
{
if (vector[b - 1] > vector[b])
{
f = vector[b - 1];
vector[b - 1] = vector[b];
vector[b] = f;
}
}
}

Pero si queremos que corra en la consola escribimos el código siguiente.

Código de burbuja
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace Burbuja
{
class Burbuja
{
private int[] vector;
private int n;

public void Ingreso()


{
Console.WriteLine("A continuacion esta la app de burbujaingrese 10
valores");
Console.WriteLine("\n/Metodo de ordenamiento de burbuja\\");
Console.WriteLine("\n Ingrese los 10 valores :");

string linea;

vector = new int[10];


for (int n = 0; n < vector.Length; n++)
{
Console.Write("\nValor" + (n + 1) + ":");
linea = Console.ReadLine();
vector[n] = int.Parse(linea);
}
}
public void MetodoBurbuja()
{
int f;
for (int a = 1; a < vector.Length; a++)
for (int b = vector.Length - 1; b >= a; b--)
{
if (vector[b - 1] > vector[b])
{
f = vector[b - 1];
vector[b - 1] = vector[b];
vector[b] = f;
}
}
}
public void Impresion()
{
Console.WriteLine("Valores ordenados de forma ascendente");
string NombreArchivo = "datosordenados.txt";
StreamWriter writer = File.AppendText(NombreArchivo);

for (int n = 0; n < vector.Length; n++)


{
Console.Write(vector[n] + " ");
writer.WriteLine(vector[n]);
}
Console.ReadKey();

writer.Close();

}
static void Main(string[] args)
{
Burbuja pv =new Burbuja();
try
{
pv.Ingreso();
pv.MetodoBurbuja();
pv.Impresion();
}
catch
{
Console.WriteLine("ERROR DEL SISTEMA POR DATO INCORRECTO");
}
}
}
}
Ahora para compilar y verificar que en el código no haya errores nos dirigimos a la opción del IDE
donde dice compilar -> CompilarBurbuja y nos dira si el código esta bien.

La compilación no nos marca ningún error.

Ahora abrimos el símbolo de sistema para verificar que la dll cumpla su función de ordenamiento.
Cabe aclarar que no se vera que hace la dll de burbuja, porque hace su trabajo sin que nosotros lo
veamos por que trabaja como un archivo del S.O.

Se observa que la aplicación funciona correctamente

1. Nos dice el símbolo de sistema que es el método de burbuja


2. Nos pide ingresar valores aleatorios
3. Ingresamos los valores y los ordena de forma ascendete.
Así funciona el dll de burbujeo.

Carpeta donde esta la dll de burbuja

Ahí mismo dice que es una extensión de la aplicación.


Inserción
Ubicación:
C:\Users\ingno\OneDrive\Escritorio\S7B\REDES\dll\inserccion\inserccion\bin\Debug\net6.0

Como compilar
Hacemos los mismos pasos anteriormente descritos.

Código de inserción (dll)


public void inserccion()
{
int V;
int j;
for (int i = 0; i < vector.Length; i++)
{
V = vector[i];
j = i - 1;
while (j >= 0 && vector [j] > V)
{
vector [j + 1] = vector[j];
j--;
}
vector [j + 1] = V;
}
}

Código Insercion
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace INSERCCION
{
class insercion
{
private int[] vector;
private int n;

public void Ingreso()


{
Console.WriteLine("A continuacion esta la app de inserccion");
Console.WriteLine("\n/Metodo de inserccion\\");
Console.WriteLine("\n Ingrese los 10 valores :");

string linea;

vector = new int[10];


for (int n = 0; n < vector.Length; n++)
{
Console.Write("elemento" + (n + 1) + ":");
linea = Console.ReadLine();
vector[n] = int.Parse(linea);
}
}
public void inserccion()
{
int V;
int j;
for (int i = 0; i < vector.Length; i++)
{
V = vector[i];
j = i - 1;
while (j >= 0 && vector [j] > V)
{
vector [j + 1] = vector[j];
j--;
}
vector [j + 1] = V;
}
}
public void Impresion()
{
Console.WriteLine("Valores ordenados de forma ascendente");
string NombreArchivo = "datosordenados.txt";
StreamWriter writer = File.AppendText(NombreArchivo);

for (int f = 0; f < vector.Length; f++)


{
Console.Write(vector[f] + " ");
writer.WriteLine(vector[f]);
}
Console.ReadKey();

writer.Close();

}
static void Main(string[] args)
{
insercion pv = new insercion();
try
{
pv.Ingreso();
pv.inserccion();
pv.Impresion();
}
catch
{
Console.WriteLine("ERROR DEL SISTEMA POR DATO INCORRECTO");
}
}
}
}
Capturas de pantalla

2
2

3
2

Se observa que la aplicación funciona correctamente

1. Nos dice el símbolo de sistema que es el método de inserción


2. Nos pide ingresar valores
3. Ingresamos los valores y los ordena de forma ascendete.

Así funciona el dll de insercion.

ubicación

Shell
Ubicación:
C:\Users\ingno\OneDrive\Escritorio\S7B\REDES\dll\shell\shell\bin\Debug\net6.0Como
compilar
Hacemos los mismos pasos anteriormente descritos.
Código de shell (dll)
public void shell()
{
int salto = 0;
int sw = 0;
int auxi = 0;
int e = 0;
salto = vector.Length / 2;
while (salto > 0)
{
sw = 1;
while (sw != 0)
{
sw = 0;
e = 1;
while (e <= (vector.Length - salto))
{
if (vector[e - 1] > vector[(e - 1)+ salto])
{
auxi = vector[(e-1) + salto];
vector[(e-1) + salto] = vector[e - 1];
vector[(e-1)] = auxi;
sw = 1;
}
e++;
}
}
salto = salto / 2;
}
}

Código Shell
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace Burbuja
{
class shelll
{
private int[] vector;
private int n;

public void Ingreso()


{
Console.WriteLine("A continuacion esta la app de shell");
Console.WriteLine("\n/Metodo de shell\\");
Console.WriteLine("\n Ingrese los 10 valores :");

string linea;

vector = new int[10];


for (int n = 0; n < vector.Length; n++)
{
Console.Write("\nValor" + (n + 1) + ":");
linea = Console.ReadLine();
vector[n] = int.Parse(linea);
}
}
public void shell()
{
int salto = 0;
int sw = 0;
int auxi = 0;
int e = 0;
salto = vector.Length / 2;
while (salto > 0)
{
sw = 1;
while (sw != 0)
{
sw = 0;
e = 1;
while (e <= (vector.Length - salto))
{
if (vector[e - 1] > vector[(e - 1)+ salto])
{
auxi = vector[(e-1) + salto];
vector[(e-1) + salto] = vector[e - 1];
vector[(e-1)] = auxi;
sw = 1;
}
e++;
}
}
salto = salto / 2;
}
}
public void Impresion()
{
Console.WriteLine("Valores ordenados de forma ascendente");
string NombreArchivo = "datosordenados.txt";
StreamWriter writer = File.AppendText(NombreArchivo);

for (int n = 0; n < vector.Length; n++)


{
Console.Write(vector[n] + " ");
writer.WriteLine(vector[n]);
}
Console.ReadKey();

writer.Close();

}
static void Main(string[] args)
{
shelll pv = new shelll();
try
{
pv.Ingreso();
pv.shell();
pv.Impresion();
}
catch
{
Console.WriteLine("ERROR DEL SISTEMA POR DATO INCORRECTO");
}
}
}
}

Captura de pantalla

Se observa que la aplicación funciona correctamente

1. Nos dice el símbolo de sistema que es el método de shell


2. Nos pide ingresar valores aleatorios
3. Ingresamos los valores y los ordena de forma ascendete.

Así funciona el dll de shell.

Ubicacion

Explicación
Vimos que los tres programas funcionan bien, pero no nos muestra la ejecución de los dll, esto es
porque esa parte lo hace el sistema de manera automática sin que el usuario lo note, se puede decir
que es un servicio de la aplicación misma.

Enlace del video de funcionamiento de una dll


https://youtu.be/9fH-DWgFSQQ

You might also like