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 )