Un DLL
Publicado por byone (4 intervenciones) el 04/08/2002 02:11:36
Como hago un DLL (para win311) en C++
Valora esta pregunta


0
// MiDLL.cpp
#include <windows.h>
// Declaración de la función que se exportará
extern "C" __declspec(dllexport) int Sumar(int a, int b) {
return a + b;
}
// Función de entrada de la DLL
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) {
switch (ul_reason_for_call) {
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
; MiDLL.def
LIBRARY MiDLL
EXPORTS
Sumar
// EjemploUso.cpp
#include <windows.h>
#include <iostream>
typedef int (*SUMAR_FUNC)(int, int);
int main() {
HMODULE hDLL = LoadLibrary("MiDLL.dll");
if (hDLL != NULL) {
SUMAR_FUNC Sumar = (SUMAR_FUNC)GetProcAddress(hDLL, "Sumar");
if (Sumar != NULL) {
int resultado = Sumar(5, 3);
std::cout << "El resultado de la suma es: " << resultado << std::endl;
}
FreeLibrary(hDLL);
} else {
std::cout << "No se pudo cargar la DLL." << std::endl;
}
return 0;
}