Creazione ed uso di dll con DevC++
Per creare una dll con il DevC++ seguire i seguenti passaggi:
1.Aprire il Dev C++
2.Creae un nuovo progetto DLL

3. Cancellare tutti i file e ricreare due nuovi file
4. dll.h
5.
ifndef DLL_H
define DLL_H
extern “C”
{
__declspec(dllexport) int doppio(int);
};
endif
6. il secondo cpp con l’implementazioni e delle funzioni definite in .h
7.
/* Replace “dll.h” with the name of your header */
include “dll.h”
int doppio(int n)
{
return 2*n;
}
BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved)
{
switch(fdwReason)
{
case DLL_PROCESS_ATTACH:
{
break;
}
case DLL_PROCESS_DETACH:
{
break;
}
case DLL_THREAD_ATTACH:
{
break;
}
case DLL_THREAD_DETACH:
{
break;
}
}
}
/* Return TRUE on success, FALSE on failure */
return TRUE;
8. compilare il progetto in x64
9.nella cartella dovrebbe trovarsi la dll.dll
10.copiare nella cartella del main la dll.dll
11.scrivere il seguente codice
12.
include
include
using namespace std;
typedef int (*DOPPIO)(int);
int main()
{
HINSTANCE hinstDLL; hinstDLL=LoadLibrary("dll.dll"); if(hinstDLL != 0) { DOPPIO doppio; doppio=(DOPPIO)GetProcAddress(hinstDLL,"doppio"); int t=doppio(5); cout<<t<<endl; } else { cout<<"no"; } FreeLibrary(hinstDLL);
}
13.compilare in x64 ( stessa architettura della dll.dll )