como abrir y ejecutar una dll en c++
COMO ABRIR Y EJECUTAR ARCHIVOS *.DLL EN C / C++
Buenas amigos aquí les dejo el video tutorial donde aprenderemos a como abrir y ejecutar archivos *.dll en el lenguaje de programación c o c++
Uso de la dll
- Ahora que tenemos la librería o dll resultante, vamos a crear un programa de prueba. Primero que nada crearemos una carpeta de nombre EjecutarDll en mi aso lo creare en el escritorio en el cual iremos guardando todos los archivos de este proyecto de prueba. Copiamos el archivo Operaciones.dll en la carpeta EjecutarDll. Abrimos el Dev-C++ y vamos a Archivo -> Nuevo -> Proyecto, seleccionamos Console Application y el nombre del Proyecto será el mismo de la carpeta tal como se muestra.
Reemplazamos el Código inicial por el siguiente:
#include <cstdlib>
#include <iostream>
#include <windows.h>
using namespace std;
//definimos los punteros para las funciones de la dll
typedef double(WINAPI *op)(double, double)
typedef double(WINAPI *op1)(double, double)
typedef double(WINAPI *op2)(double, double)
typedef double(WINAPI *op3)(double, double)
int main(){
op suma;
op1 resta;
op2 multiplicacion;
op4 division;
HINSTACE LibDll;
LibDll = LoadLibrary("Operaciones.dll) ; //cargamos nuestra dll
//verificamos si cargo la dll
if(LibDll != NULL){
//Cargamos las funciones de la dll
suma = (op)GetProcAddress(LibDll, "suma");
resta = (op1)GetProcAddress(LibDll, "resta");
multiplicacion = (op2)GetProcAddress(LibDll, "multiplicar");
division = (op3)GetProcAddress(LibDll, "dividir");
//Verificamos si encontró las funciones
if(suma != ){
cout < < "NO SE ENCONTRO LA FUNCION";
}else{
//Si lo encontró mostramos las operaciones
cout << "La Suma es: " << suma(2, 4) << "\n";
cout << "La Resta es: " << resta(2, 4) << "\n";
cout << "La Multiplicación es: " << multiplicacion(2, 4) << "\n";
cout << "La División es: " << division(2, 4) << "\n";
}
//Liberamos Memoria de la DLL
FreeLibrary(LibDll);
LibDll = NULL;
}
else{
cout<< "ERROR AL CARGAR LA DLL";
}
return 0;
}
En este punto hay que asegurarse primero de guardar todos los archivos. Podemos ver que usamos las funciones que creamos en nuestra dll.
Un poco de Explicación:
- Con el siguiente código definimos un prototipo de la función de la dll, definimos un alias y creamos una variable que nos permitirá conectarnos a la dll:
typedef double( WINAPI *op)(duble, double)
op suma;
- Dentro de la Histancia que hicimos nos sirve para cargar la dll en memoria mediante las lineas:
HINSTANCE LibDll;
LibDll = LoadLibrary("Operaciones.dll");
- Hay que asegurarse que se ha cargado la dll adecuadamente para esto nos aseguramos que el valor devuelto sea distinto a 0 o NULL, con la verificación y luego cargamos las funciones con la siguiente líneas:
suma= (op)GetProcAddress(LibDll, "suma");
Ahora Ejecutamos y compilamos el programa y el resultado de la compilacion es:
PARA ENTENDER BIEN ESTE EJERCICIO O APARTADO TE INVITO A QUE VEAS EL SIGUIENTE VIDEO
Contraseña: tutos-edgar
ESPERO QUE TE AYUDE Y TE SIRVA ESTE PEQUEÑO APARTADO
0 comentarios :
Publicar un comentario
Gracias Por tu Comentario Te Respondere Pronto